Здрасьте господа айтишники. Посоветуйте нормальный фаерволл в linux уровня приложений. Ну, такой как у любой домохозяйки на винде стоит. Чтобы можно было вот этому приложению запретить доступ в инет, а этому разрешить. Ну и новое приложение тоже не могло выйти в сеть, а когда пыталось выходила плашка мол так и так, разрешить или запретить?
Еще очень важно чтоб для обычного юзера, а не какой нить selinux, который целая система контроля доступа, созданная для правительственных учреждений и сложна в понимании. Ну и Debian based дистрибутив.
>>3730 (OP) > фаерволл в linux уровня приложений Нет такого. Даже поддержки разделения трафика по PID в netfilter нет. Есть network namespaces, что намного круче, но требует привелегий админа.
Как вариант где-то между можно использовать группы пользователей, для которых назначить правила фаервола (-m owner --gid-owner группа) и применять их при помощи sg (sg группа команда), либо sgid-бита на бинарии приложения.
Почему Билл Гейтс до сих пор поддерживает всю эту свингер пати на своей платформе шиндувс? Почему уже 20 лет, даже петька из 6А может сделать склейку с исходников в виде рансома и с легкостью заразить не то, чтобы тысячи компов, а даже какие нибудь большие компании???! Антивирусы это вообще дичь, которые априори не способны выявлять качественные скрытые вирусы, да и им выгодны все эти вирусы и взломы. А Windows то что? Неужели самому биллу гейтсу это выгодно? Ведь Билл с легкостью может убрать 99% вирусов с помощью ввода сертификации кода, или чего ещё что не позволит творить дичь.
>>3703 (OP) >Неужели самому биллу гейтсу это выгодно? Еула читал? Майкрософт готова возместить ущерб на сумму не больше 20$ или около того. Процессы завязаны на винде, программы собраны под винду, обучают кадры на винде. Ну и куда ты денешься? Выгодно? А то! >Ведь Билл с легкостью может убрать 99% вирусов с помощью ввода сертификации кода Если бы всё было так просто. Дыра в программе проверки сертификатов и утекший корневой сертификат или хотя бы сертификат доверенного разработчика являются очевидными проблемами безопасности такой системы.
Дело такое, вкратце опишу. Хелп ми, нужен сайт с накруткой или люди, которые будут этим заниматься (естественно платно). Есть одно бесплатное приложение, регистрация в нём с номера телефона, задача такая: зайти на канал (в приложении) перейти по нескольким ссылкам, поставить лайк на каждое видео и уйти. С одного аккаунта ставить можно 1 лайк, если пользоваться сайтам по продаже номеров, то проставить их можно только с помощью ВПН, иначе не засчитают, наверное, какая-то защита у них. Так вот, кто сможет помочь, у кого какие идеи? (забыл сказать, это конкурс в приложении, чьё видео наберет больше лайков тот победил)
>>3660 (OP) Есть такой сайт, называется www.gazgovno.ru, там короче кабанчики с помощью силы пердежа решают вопросики, в т.ч. и накруткой сайтов для всяких пидорасов вроде тебя занимаются, просто платишь им 480 тысяч рублей и, бля, всё заебись потом нахуй.
Заходи на www.gazgovno.ru и начинай быть успешным челиком уже сегодня! Это самый, нахуй, крутой сайт, нахуй, среди всех, нахуй, крутых сайтов, нахуй. Нахуй, бля, сука.
Давай, гандон, слыш бля, не ссы, заходи на этот сайт. БЫСТРА, бля.
На рассмотрение Госдумы внесен законопроект о необходимости обеспечить автономную работу российского сегмента Интернета в случае, если доступа к зарубежным серверам не будет.
Данная инициатива предусматривает подготовку к возможному отключению Рунета от глобальной инфраструктуры Всемирной паутины. Законопроект может дать Роскомнадзору право централизованного управления сетями общей связи и Интернетом в случае угрозы безопасности из-за рубежа. Информация об этом размещена в электронной базе данных Госдумы.
В пояснительной записке подчеркивается, что это предложение выдвинуто «с учетом агрессивного характера стратегии национальной кибербезопасности США», где Россия среди прочих стран бездоказательно обвиняется в хакерских атаках.
Авторы законопроекта — глава комитета Совфеда по госстроительству Андрей Клишас, его первый заместитель Людмила Бокова и депутат Госдумы Андрей Луговой.
Законопроект определяет необходимые правила маршрутизации трафика и организация контроля их соблюдения. В сопроводительных документах говорится, что «создается возможность для минимизации передачи за рубеж данных, которыми обмениваются между собой российские пользователи». Для этого определят точки подключения российских сетей к зарубежным. «Их владельцы, операторы связи обязываются при возникновении угрозы обеспечить возможность централизованного управления трафиком», — говорится в пояснительной записке.
Кроме того, предполагается, что в российских сетях установят «технические средства» для определения источника трафика, которые при необходимости смогут «ограничить доступ к ресурсам с запрещенной информацией не только по сетевым адресам, но и путем запрета пропуска проходящего трафика».
Предполагается, что для работы Рунета в изолированном режиме будет создана национальная система DNS (система получения информации о доменных именах и или сетевых адресах).
>>3639 >на венде компилит хелло уорд 36 кб А ещё он не будет запускаться на другом компе без кучки dll, а если их статически слинковать то там сильно больше 36 кб будет.
В этом треде станем изучать PHP, можете вбрасывать статьи и книги. Пока что попробую спросить советов у анонимуса, у меня есть контроллеры (MVC https://ru.wikipedia.org/wiki/Model-View-Controller) у которых часто повторяются некоторые блоки кода (csrf-защита, требование подтвердить операцию, проверка прав), мне хочется сделать код компактным, для этого создаю в базовом контроллере что-то на уровне: public function csrf() { //код csrf защиты } и вставляю в контроллер public function pageAction() { try { isAdmin(); csrf(); superDuperProverka(); } catch(\Exception $e) { $this->response->error($e); } }
хочется сделать что-то ещё более компактное, тогда можно прямо в csrf() делать выброс ошибки (а не исключения!) с exit(). Какой способ самый лучший? И, да, этот вопрос не является для меня важным, так, для затравки, чтобы получился тред. Я могу в этих блоки кода добавлять только выбросы Exception, но тогда их нужно вылавливать, чтобы отобразить ошибку стильно или вообще страницу с кнопкой "подтвердить операцию". У меня есть повторяющиеся блоки кода, с которыми не знаю, что делать, какие метод лучше для сокращения. Может перемудрил? Проще будет найти где там Exception отображается в Symfony и изменить стандартную страницу ошибки? Так мне нужно сделать такое изменение конкретно для своих ошибок. Кнопку "подтвердите операцию" разве можно считать за Exception? Не знаю... Вот ещё вопрос для примера: у меня есть сервис repsonse, через который делаю в контроллере return $this->response->error(текст ошибки); $this->repsonse->ok(шаблон, массив с данными). Потом обратил внимание, что само Symfony такое делает через свой базовый контроллер (тот же $this->render()), может и мне лучше упразднить этот response и перенести методы в свой базовый контроллер с целью сокращению кода? Тогда получится $this->error(), $this->ok(), но с response лучше соблюдается правило с пространством имён.
>>3549 >templates/bundles/TwigBundle/Exception/error404.html.twig Если мне память не изменяет, никакой реакции на подобное не последовало, документацию то читаю, там про такое было (у меня своя реализация получилась). Впрочем, может забыл в prod окружении проверить.
Лол, в этот раз так же не получилось с помощью templates/bundles/TwigBundle/Exception/error404.html.twig изменить что-то, умудрённый долгим опытом кэширования в Symfony почистил каталог /cache/prod и оно заработало. Когда только начинал в Symfony разбираться не задумывался о каталоге с кэшем, поэтому всегда нулевой результат был на попытку кастомизировать страницы ошибок стандартным методом.
чо творю: /** CSRF-защита. */ public function ifCsrfWrongThrowException($method = 'POST', $var = 'token') { $method = strtoupper($method); if($this->config->get('csrf') == true) { switch($method) { case "POST": if(!isset($_POST[$var])) { throw $this->tokenNotSent(); } if (!$this->isCsrfTokenValid($var, $_POST[$var])) { throw $this->wrongToken(); } break; case "GET": if(!isset($_GET[$var])) { throw $this->tokenNotSent(); } if (!$this->isCsrfTokenValid($var, $_GET[$var])) { throw $this->wrongToken(); } break; } } }
/** Выбрасывает исключение, если метод отправки не является указанным в параметре $method. */ public function ifMethodWrongThrowException($method) { if($this->request->isMethod($method) == false) { throw $this->methodNotAllowed(array($method), $this->translator->trans('Метод отправки не является ') . $method . '.'); } }
/** Выбрасывает исключение, если метод отправки не является POST */ public function ifMethodNotPOSTThrowException() { if($this->request->isMethod('POST') == false) { throw $this->confirmationRequest(); } }
/** Капча. */ public function ifCaptchaWrongThrowException() { /** Если капчу не надо проверять, тогда сразу возвращает true. */ if($this->config->get('captcha') == false) { return true; } /** Проверка капчи. */ if(!isset($_POST['gregwar_captcha_value'])) { throw $this->captchaNotSent(); } if ($this->captchaSession->check($_POST['gregwar_captcha_value']) == true) { $this->captchaSession->delete(); } else { if($this->captchaSession->isActive() == true and $this->captchaSession->isCurrent($_POST['captcha_id']) == true) { throw $this->wrongCaptcha(); } else { throw $this->captchaIsOutOfDate(); } } return true; }
/** Выбрасывает исключение, если нету прав администратора. */ public function ifNotAdminThrowException() { if($this->auth->getAdmin() == false) { throw $this->notAdmin(); } }
/** Выбрасывает исключение, если нету прав администратора или модератора. */ public function ifNotAdminAndNotModThrowException($sectionId) { if($this->auth->getAdmin() == false and $this->auth->getMod($sectionId) == false) { throw $this->notAdminAndNotMod(); } } С функциями-трейтами пока завязал, теперь интереснее названия. Хочется сократить код, но при этом оставить читабельным... Кстати, насчёт требования подтвердить операцию так решил этот вопрос (error405.html.twig): {% extends "base.html.twig" %}
{% block body %} {% if app.request.method == 'GET' %} {{ include('include/confirmation.html.twig') }} {% else %} {{ exception.getMessage }} {% endif %} {% endblock %} пока ничего ещё не тестировал.
подробности: /** 400 */
/** Плохой запрос. */ public function badRequest($message = null) { if($message == null) { $message = $this->translator->trans('Плохой запрос.'); } return new Exception\BadRequestHttpException($message); }
/** Неправильно введена капча. */ public function wrongCaptcha() { return $this->badRequest($this->translator->trans('Неправильно введена капча.')); }
/** Капча устарела. */ public function captchaIsOutOfDate() { return $this->badRequest($this->translator->trans('Капча устарела.')); }
/** Капча не отправлена. */ public function captchaNotSent() { return $this->badRequest($this->translator->trans('Капча не отправлена.')); }
public function wrongToken() { return $this->badRequest($this->translator->trans('Неправильный токен.')); }
public function tokenNotSent() { return $this->badRequest($this->translator->trans('Токен не отправлен.')); }
/** 403 */
/** Доступ запрещён. */ public function forbidden($message = null) { if($message == null) { $message = $this->translator->trans('Доступ запрещён.'); } return new Exception\HttpException(403, $message); }
/** Доступ запрещён. */ public function error403($message = null) { return $this->forbidden($message); }
/** Требуются права администратора. */ public function notAdmin($message = null) { if($message == null) { $message = $this->translator->trans("Для выполнения операции требуются права администратора."); } return $this->permissionDenied($message); }
/** Требуются права модератора. */ public function notAdminAndNotMod($message = null) { if($message == null) { $message = $this->translator->trans("Для выполнения операции требуются права модератора или администратора."); } return $this->permissionDenied($message); } /** 405 */
/** Метод не поддерживается. */ public function methodNotAllowed($allow = array(), $message = null) { if($message == null) { $message = $this->translator->trans('Метод не поддерживается.'); } return new Exception\MethodNotAllowedHttpException($allow, $message); }
/** Метод не поддерживается. */ public function error405($allow = array(), $message = null) { return $this->methodNotAllowed($allow, $message); }
/** Требование подтвердите операцию отправив данные методом POST. */ public function confirmationRequest($message = null) { if($message == null) { $message = $this->translator->trans('Подтвердите операцию отправив данные методом POST.'); } return $this->methodNotAllowed(array('POST'), $message); }
Средство для телепатической передачи мысли на расстояние (XEP-0183: Jingle Telepathy Transport), а если серьезно - это расширяемый протокол межсерверного и межклиентского взаимодействия. Да, любой придурок может написать и показывать всем свой хер Основная цель жаббера построить коммунизм построить единую, универсальную сеть коммуникаций. Проще говоря, идея создания Jabber, чтобы Васяны могли писать из Telegram в WhatsApp, VKontakt, а не ставить 100 мессенджеров от разных сетей, аля e-mail 2.0.
>Как мне подключится к Jabber? Какие мессенджеры поддерживают XMPP?
- Если ты отмороженный псих, тебе обязательно необходимо попробовать бешеных псов на Виндовс PSI+ & PSI https://psi-plus.com/ или тот же кросплатформенный Gajim, который говорят тоже гавно https://gajim.org/downloads.php
-Для яблоко-юсеров есть ChatSecure и еще что-то там есть (Adium, AstraChat, Zom), но мы не знаем что. Смотрите и ищите сами. Другие клиенты есть на https://omemo.top
- Веб-клиент, по совместительству социальная сеть https://movim.eu
>Я хочу поднять свой сервер, какое ПО мне использовать?
- Ejabber, ёж отказоустойчивый сервер с повышенным уровнем пердолинга. Именно на нем крутился крутится WhatsApp - Prosody. Просодия - для домашнего использования. Лагает под большими нагрузками. Внимание! Низкий уровень пердолинга! Красноглазики не одобряют! - под ШNdows есть открытый огонь, OpenFire
>У меня нет друзей. С кем мне поговорить в XMPP? На любой сервер с конфами, можно зайти с любого xmpp сервера - Русские конфы http://jc.jabber.ru (Чтобы не вводить капчу пишите модераторам "убрать капчу") - Поисковик комнат https://search.wensley.org.uk/ - Социальная сеть в жабе https://movim.eu
- Вы можете потусить с админом трансом на https://juick.com Рега, добавить контакт juick@juick.com
- Если вы одиноки и вас никто не понимает, добавьте контакт echo.404.city . Этот собеседник всегда вас поймет, всегда вам ответит и не оставит в одиночестве (работает когда ты сам с этого же сервера)
>Какое шифрование лучше использовать?
Если ты впервые в жабе, используй ОМЕМО. Если ты знаток используй любое.
>>3147 Вот тут все верно. В таком случае нужно на 404.city, большинство народа там - русскоговорящие. Админ всем настоятельно рекомендует заходить только из-под тора и использовать шифрование, где только возможно. >>3146 Dino правда, не знаю, перкнесли на винду или нет, давно не интересовался. Сам минимализм с тремя кнопками, как любят обычные юзеры. Если копнуть чуть глубже - есть некоторые настройки.
Конечно, есть и некоторые косяки протокола - к примеру, возврат списка конференций в виде текста (ну а каждый клиент обрабатывает и сортирует этот список, кто во что горазд). А транспорты... Все пришло к закрытости, а задрачивать настройки никто не хочет. Хотя причина, почему он не взлетел, несколько в другом. Отсутствие поля для ввода номера телефона и одной кнопки, да. Ну и не пиарили его, хотя, думаю, это и к лучшему.
Как ВКонтакте использует машинное обучение для автоматизации работы службы поддержки? Зачем и как соцсеть научила свои алгоритмы различать хентай и аниме? Как строятся исследования в области ИИ в принципе? И даже - какое аниме вам точно нужно посмотреть?
Короче я понял к чему все постепенно идет. Без небезопасного джваскрипта никакие сайты больше не работают. Все собирают данные и шпионят за мной. Мне нужно обязательно покупать свою VPS-ку, поднимать на ней прыщи, настраивать на них файервол, и эмулировать на них полноценный дырявый хромогий браузер, а уже связь с ВПСкой вести по своему секретному зашифрованному протоколу поверх другого зашифрованного протокола. Я всё правильно понимаю?
>>3457 (OP) Лучше подними спермёрку с хромогом не на впс, а в kvm на последнем селероне с пассивным охлаждением и ssd, желательно nvme. На дистанции в два-три года это выйдет дешевле, если сравнивать с vps похожей производительности, и гораздо комфортнее в работе. Заводи линапсъ, разруливай на нём свои множественные прокси, подключенные к небу и Аллаху, по виртуальным подсетям, и развешивай на эти сети свои спермёрки и дриснятки с хромогами, упакованные в kvm, чтобы они смотрели во внешний мир каждая через свою прокси дырочку. Только так ты сможешь стать настоящим диссоциативным шизиком с множеством виртуальных личностей, в которых сгруппированы кластеры твоих интересов. Не забудь dns в kvm правильно настроить.
Решил опробовать фреймворк CodeIgniter3 после изучения ванильного php. Было написано: >лёгкая установка Окей. Скачал, разархивировал в папку на openserver'e, перехожу в каталог, а там error 404. Я не могу понять в чём проблема. Может вы подскажете?
>>3275 >не питон Ну C++ тогда. Где-то встречал для линукса библиотеку, которая позволяет создавать виртуальную клавиатуру, мышку вот это всё. Название не помню, но в нём фигурировала буква u. Есть ещё консольная программка xdotools, но она тоже работает под линдой и только под иксами.
>>3275 Поздно уже, но все равно. Луркай про autoit. Лучше этого нет ничего. Если тебе не с интерфейсом форточек работать, а с вебом, то js, ему альтернатив нет.
У меня на участке установлены камеры. Я хотел бы быть оповещенным, когда в их поле зрения появляется человек. Сейчас это устроено так: Есть Motion сервер, на нем камеры. Моушн триггерит когда на камерах меняются пиксели, начинает писать видеозапись на диск, присылает мне оповещения. Это хуево работает. Детектинг движения по пикселям - sucks. Я слышал есть нейронки. На сколько они хорошо справляются в плане анализа изображения с камер? На сколько это производительно? Уже существует адекватные решения, или придется говнокодить?
>>3334 (OP) Нейронка подойдет, но не для всех случаев. Она может проигнорировать человека, который, например, прикрыл лицо и одет во что-то необычное. Это работает примерно как "поиск улыбки" в расистских камерах Nikon и другой подобной технике. https://www.youtube.com/watch?v=t4DT3tQqgRM
>>3334 (OP) Я не разбираюсь в нейронках, если что.
>На сколько они хорошо справляются в плане анализа изображения с камер? Немного рулетка. Может быть какая-то неочевидная фигня, что если одеться в полосатый или пятнистый плащ - то она никак не будет реагировать на это. >На сколько это производительно? Не очень производительно, мягко говоря. И особенно непроизводительно в плане времени разработки.
Лучше искать двигающиеся пятна, как это делают видеокодеки. Там не такой сложный код. У меня кошка из окна выпрыгнула несколько лет назад, и я сделал за вечер велосипед, который написал мне в мобилку о каждой кошке и вороне пробегающей снизу, но на тени качающихся деревьев не реагировал, так как текстура листьев не двигалась. Кошку нашли на третий день из-за камеры, когда она там проходила.
Если хочешь нейронку, можешь сделать небольшую с сеткой порядка 21х21х3, которая будет принимать фрагменты трёх кадров и на выходе как раз будет выдавать вектор движения - возможно она будет работать немного лучше, чем математический подход - и для такой сетки можно очень просто сгенерировать примеры для обучения. Крупную сетку на всё изображение, которая сразу будет выдавать информацию о человеке я бы не стал обучать - очень долго нужно будет её тестировать на предмет того, что она анализирует на самом деле.
Самая полная история российских хакеров: от советских матшкол и постсоветской нищеты к мировой кибервойне и транснациональным преступным группировкам. Книга описывает новый тип власти — но, как показывает Туровский, люди, которые обладают этой властью, сталкиваются все с теми же моральными дилеммами, выбирая между тюрьмой и сумой, чувством и долгом, добром и злом.
>>2253 все это есть,но не там на эийтих фочанах и апачанах,где сидят 100500 зелёных саколиков,ищите места с малым количеством народу и качественным контентом.Качество vs количество = решает.
Laisi. Это язык программирования, который я создаю + icolaisi, его компилятор-интерпретатор. В связи со смертью эндчана, переношу свой блог сюда. Долго я не делал иколайси. https://gitlab.com/Ninikaita/icolaisi — страница проекта, есть и документация к самому Лайси. Так же есть сайт в онионе, но он сейчас лежит, мне не хватает одного или нескольких компонентов. Как будет происходить процесс компиляции лайси: 0. Препроцессирование кода, обработка дефайнов, инклудов, импортов, загрузка инклудов и импортов, и их препроцессирование. 1. Парсинг полученного кода. 2. Преобразование парс-дерева в лайси-байткод. 3. Компиляция лайси-байткода в LLVM IR. 4. Компиляция LLVM IR в таргетный выход.
Я пишу компилятор на питоне в связи с наличием хороших библиотек для парсинга. Раньше я использовал pyparsing для всего, препроцессирования и самого парсинга. Но у меня какие-то проблемы с локацией отпарсенного и вообще код плохой, так что сейчас я его немного переписываю. Я собираюсь препроцессировать самостоятельно и только препроцессированный код парсить через pyparsing. Уже почти написал функцию, которая очищает код от комментариев и возвращает словарь со значениями пропуска символов, чтобы потом, при синтаксической ошибке корректно пользователю выводить сообщение об ошибке. Затем надо будет загружать дефайны, импорты и всё такое, а затем парсить полученный код. В нынешней версии компилятора, которая есть на гитлабе Лайси поддерживается в очень маленьком количестве, вообще маленьком. В Лайси есть 2 типа типов — статические и динамические, есть ещё и undefined behavior. Статические типы — uN, sN, fNeM (или fN). где N и M это какие-либо целые положительные числа. Тут всё ясно в LLVM uN и sN это просто iN + определённые инструкции при вычислениях. А вот fN это небольшая проблема. Я хотел раньше сделать так, что f32e8 это IEEE 754 single, f64e11 это IEE754 double, f50e3 будет сам компилятором считаться. Но недавно я узнал о так называемом posit, совершенно новый тип для флоатских значений. И я подумал, что нужен тип fN. В любом случае, в спецификации лайси указано, что в fN(eM) может быть undefined behavior в зависимости от таргета, так что не используйте это для точных вычислений. Не уверен, стоит ли выпилить этот undefined behavior. Может стоит ввести типы single, double, quadruple и всё такие, всё поменять. Может и стоит. Я ещё подумаю над этим. Динамические типы — int, float, string, func, proc. Про них читайте в документации, сам скажу, что их я буду реализовывать через liblaisi, это стандартная библиотека для лайси, которая будет иметь функции для арифметико-логических операций над типами и другие штуки. Будет линковаться статически, но не обязательно. Почему лайси хороший? Есть умное и безопасное управление памятью (в следующих версиях будут исключения для segfault и out of memory); параллелизм из-коробки, то есть вы можете написать один код, который будет исполняться на одноядерном микроконтроллере и многоядерном GPU или кластере, результат будет один и тот же, но с разной скоростью; есть хорошее статическое метапрограммирование (а в будущем планируется и динамическое), благодаря которому достигаются дженерики, полиморфизм, предрасчёт значений функций в заданном диапазоне для оптимизации (например указать, до какого N просчитать факториал и засунуть в глобальную переменную). Так же я бы хотел добавить много юзабельных библиотек, например: 0. audio — набор инструментов для загрузки и сохранения стандартных форматов аудио. 1. video — набор инструментов для загрузки и сохранения стандартных форматов картинок и видео. 2. dapa — парсинг данных. Предполагается, что строковых, но темплейты, которые будут там, должны быть способны принимать любые итерируемые данные. 3. fs — взаимодействие с файловой системой, директории, права доступа, теги. 4. hash (?) — набор функций для хеширования. 5. io — input/output, может быть в файлы, stdion, сокеты, в зависимости от расширений. 6. json — парсинг json. 7. laisi — библиотека для компиляции и исполнения лайси. 8. llvm (?) — генерация LLVM IR? 9. math — библиотека с большим набором разнообразных математических функций. Синусы, матрицы, пересечение фигур в 3D, поворот фигур в 3D, интерполяция и всё такое. 10. module — Загрузка подгружаемых модулей, будь-то шейред обджект, длл, питонокод, луакод или ещё что-то. 11. noise — набор функций для разных шумов. 12. opengl — биндинг к опенглу. 13. sdl2 — биндинг к SDL2. 14. repr — репрезентация данных в human-readable вид. Благодаря препроцессеговой штучке @ifhas могут быть репрезентованы и ваши типы. 15. os (?) — взаимодействие с OS? 16. socket — сокеты. 17. thread — потоки от OS, явно паралелльные. 18. time — взаимодействие с временем, часы, вызов функций-коллбеков раз в N времени. 19. xml — Парсинг XML.
Сейчас я опять меняю стандарт лайси. В Laisi 0.7.3 будет добавлен @call(f), позволяющий вызвать объект, если вызов происходит без сайд-эффектов, для препроцессингового расчёта значений. Таким образом, в библиотеке math можно прописать сколько значений препроцессировать для какого-нибудь фактрориала или чего ещё и это будет оптимизация. Ещё я пересмотрел f-типы. Я решил, что не стоит вводить fNeM или fN. Лучше сделать стандарт laisi-float, описывающий поддерживаемые флоат-типы. Это связано с будущим, ведь и форматы флоатских чисел не стоят на месте — https://en.wikipedia.org/wiki/Unum_(number_format), в то время как i-формат целых чисел это просто нормальная такая абстракция. В этой версси будут поддерживаться, вероятно, IEEE 754 half, single, double, quadruple, octuple. Над posit подумаю ещё. Может быть также некий brain half. Я пересмотрел f-типы, так как в стандарте прямым язык указано, что поведение может быть машинно-зависимым, то есть undefined behavior, а зачем программистам на моём ЯП лишняя головная боль, когда они решат точные расчёт вести на даблах и скомпилируют под обычный x86-64 и какую-нибудь экзотическую архитектуру, у которой вместо IEEE 754 double нечто своё?
Я недавно рассматривал HTML и продолжаю убеждаться: какая же это шизофрения-то! Вот поэтому мне и надо доделать Иколайси. Чтобы сделать Лайси, а потом маркдаун лангвадж и мой веб! С лайси-скриптами. Не будет никаких глупых div или table, вместо них просто лейауты и виджеты. Немного гиперлинковости. Встроенная поддержка просмотра и фоток, и видео, и, даже, 3D-форматов. Также я планировал вскоре после создания Лайси написать утилиту, которая будет работать подобного инструментарию сайта shadertoy.com. То есть вызывать код для генерации картинки (и звука). Но не GLSL, а лайси-байткод. В таком случае можно будет делать демосцены не только рейтрейсинговые, но и растеризационные. Да и вообще по-сути можно любой кодек внутрь засунуть и просто пытаться ужать видео без потерь или с минимальными потерями. Но это для энтузиастов и любителей, если кому-то понадобится мой софт. К тому же, размер будет зависеть от жирноты кодека. Вот libpng в линуксе весит пару сотен килобайт, а многие PNG-картинки даже столько не весят. Вот поддержку таких демосцен надо будет в мой веб засунуть. А учитывая все эти факторы и то, что у меня создаются движки графический и ГУИшный, а потом я, может быть, возьмусь за физические, то дойдёт до целого игрового движка. Хотя я и не планировал заниматься этим. К сожалению, в последнее время, у меня мало времени заниматься Лайси. Надо успеть хотя бы до первой половины января следующего года. А ведь там немного осталось. Подправить поддержку синтаксиса и готово! В крайнем случае можно часть синтаксиса урезать и добавлять в следующих версиях. Например, switch а ещё я там в стандарт добавил match, но это ни о чём не говорит. Только даже при поддержке Лайси компилятор почти никто не сможет использовать кроме меня, ведь надо же ещё об синтаксических ошибках сигнализировать! Это я прочувствовал Лайси как моё создание и понимаю, что в том-то месте просто точки с запятой не хватает. Хотя и я при объёмах кода выше 500 строк просто не смогу следить за всем и дебажить случайную ошибку.