Найти тему
Статьи
OpenSource движки популярных игр ч. 1 MOHAA и Quake 1
Относительно недавно свет увидела бета версия v 0.80.0 открытого движка на базе ioquake3 некогда нашумевшей Medal of Honor Allied Assault, добавив ресурсы игры к движку вы можете с легкостью тряхнуть стариной и попробовать на вкус MOHAA на Linux или на любой другой платформе где есть компилятор и необходимые библиотеки. Ссылка на страницу проекта: https://github.com/openmoh/openmohaa Со сборкой сложностей возникнуть не должно, все как обычно вытягиваем с github через git clone https://github.com/openmoh/openmohaa...
1 неделю назад
TLS Error: cannot HMAC in incoming packet from Fatal: TLS error
Доброго времени суток! Сегодня рассмотрим решение проблемы из заголовка. Встречается она при настройке OpenVPN в паре с Mikrotik под управлением RouterOS 6 версии, из-за ограниченности возможностей OVPN. Условия: CHR версия 6.49.17 stable Удалённый сервер под управление Ubuntu Server 20.04, на которой крутится Docker с OVPN, для доступа в другую сеть. Версия OVPN Server 2.5.6. Заметка родилась из-за необходимости подключить доп клиента с Mikrotik к действующему OVPN Server, на котором другие клиенты...
1 месяц назад
A error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: Данная ошибка возникает когда в репозиториях дистрибутива и у сторонних поставщиков обновились ключи GPG с помощью которых осуществляется подпись .deb пакетов, по которой apt-get, aptitude или иной пакетный менеджер проверяет достоверность пакета, что он не подложный. И как-то так сложилось, что нет до сих пор механизма уведомления пользователей (либо мне неизвестен) о смене ключей в репозитории кроме как вот такой не сильно лицеприятной ошибке. Чтобы устранить данный недуг мы либо руками заново добавляем все ключи через команду: gpg --keyserver kkeyserver.ubuntu.com--recv-keys 16126D3A3E5C1192 где 16126D3A3E5C1192 необходимо заменить на номер сигнатуры из ошибки. А если репозиториев 20 или 30-ть? Тут на помощь приходит вариант автоматического обновления всех ключей через команду: apt-key adv --refresh-keys --keyserver keysekeyserver.ubuntu.com При условии что все ключи что используются размещены на сервере ubunt'ы.
3 месяца назад
Поднимаем NAS через WoL после загрузки необходимых файлов через TFTP на Mikrotik часть 3
1. Настройка TFTP для загрузки по сети с Mikrotik 2. Настраиваем Syslinux и GRUB для PXE 3. Поднимаем NAS через WoL после загрузки необходимых файлов через TFTP Бонус В двух ранее опубликованных статьях мы получили рабочий TFTP сервер на Mikrotik, а также загрузку по сети через syslinux и GRUB. А что если NAS расположен за пределами досягаемости и не работает 24/7? Чтобы не включать его каждый раз руками предлагаю привязать включение NAS к пункту меню в GRUB или SYSLINUX. Для решения данной...
3 месяца назад
Настраиваем Syslinux и GRUB для PXE часть 2
Содержание: 1. Настройка TFTP для загрузки по сети с Mikrotik 2. Настраиваем Syslinux и GRUB для PXE 3. Поднимаем NAS через WoL после загрузки необходимых файлов через TFTP Бонус На текущем этапе у нас есть настроенный TFTP и сконфигурированный DHCP сервер на Mikrotik, теперь необходимо организовать загружаемые данные т.е. загрузчик, его конфигурационные файлы и то что мы будем загружать. Примечание: Заранее оговорюсь, что мы создаем некое SOHO решение, в котором по условиям задачи у нас есть только...
6 месяцев назад
Настройка TFTP для загрузки по сети с Mikrotik часть 1
Настройка TFTP для загрузки по сети с Mikrotik часть 1 Содержание: Настройка TFTP для загрузки по сети с Mikrotik Настраиваем Syslinux и GRUB для PXE Поднимаем NAS через WoL после загрузки необходимых файлов через TFTP Бонус Рано или поздно встает вопрос о загрузке хоста по сети и не важно с какой целью будь то работы по восстановлению упавшей системы (передаем привет дешевым SSD из поднебесной ) или необходимость перевести пользователя на тонкий клиент и тут на помощь приходит TFTP. Настройка...
6 месяцев назад
Настройка LuxCoreRender в LinuxMint (CUDA program compilation error)
Для работы Luxrender необходимо скачать версию Blender рекомендованную на сайте разработчика LuxCoreRender. Для LuxCoreRender 2.6 (можно скачать тут: https://luxcorerender.org/download/) нужен Blender от 2.82 до 2.93LTS. Blender качаем здесь https://www.blender.org/download/releases/2-93/ Распаковываем архив с Blendeром в удобное место и запускаем, после загрузки идем Edit -> Preference -> Add-on. Жмем Install и выбираем zip архив с LuxCoreRender. После установки можно выбрать фильтр Render и активировать его, установив флажок напротив Render: LuxCore...
1 год назад
Switch case против If Else: Интересный факт Мы часто используем if-else или switch case создавая различные проверяющие выражения. Но знали ли вы что в condition check из двух условных операторов switch case более эффективный? Для switch-case проверяет выражение basically branch table или бинарный поиск (O(log n)), для if-else каждое условие проверяется одно за другим пока не получим true. switch(variable){ // } Когда switch-case используется подобны образом поток выполнения переходит в точку где variable имеет значение true и исключает иные проверки, но для маленького числа проверок разница между switch-case и if-else минимальна. Но что более важно switch-case лучше читается и его применение поощряется там где это возможно в отличии от if-else. П.С. В надуманном примере где используется вариант if ( i == n) {} else if (){} else ... где 0 < n < 100 выигрыша между switch case и if-else нет время выполнения идентично, при росте количества выражений сравнения до 1000 switch-case заметно проигрывает именно из-за O(log n) Оригинал hclck.ru/...amn
2 года назад
Meson как собрать и пользоваться
Meson может работать с разными бэкэндами (Ninja, VisualStudio, XCode), в Unix подобных ОС нам предлагают использовать Ninja, минималистичный иснтрумент, простой и мощный, в основном ориентированный на скорость сборки (https://ninja-build.org/).В моем дистрибутиве Linux Mint 20.3 установлена версия 0.53.2 и она поддерживает следующие языки (C, C++, D , Fortran,Rust , Object-С), для демонстрации первичной настройки простого проекта из одного файла и сборки хватит и С++. Создаем следующую структуру...
327 читали · 2 года назад
C++ Lambdas, Threads, std::async and Parallel Algorithms
Лямбда выражения, потоки, std::async и параллельные алгоритмы в C++ Содержание: В статье о лямбда выражениях (в одной из тех, что была на прошлой неделе), легко продемонстрировать пример, когда лямбда работает внутри потока (текущего). Но как быть со случаями, когда необходима асинхронность исполнения? С какими проблемами вы можете здесь столкнуться, чтобы узнать читайте статью. Лямбда и std::thread Начнем с std::thread. Наверно вы уже знает, что std::thread принимает вызываемый объект (callable object) в качестве аргумента конструктора...
2 года назад
Настраиваем GeForce 710M для Linux Mint
При работе со старым железом частенько встречаются проблемы с поддержкой драйверов или с тем, что Driver Manager предлагает просто сомнительные пакеты для установки, никак не объясняя свои намерения. Так и вышло с PackerBell EasyNote TV11HC при установке Linux Mint 20.3. DM навязывает на 340 драйвер для GF 710M но в результате только черный экран (или Unable to load the ‘nvidia-drm’ kernel module), что делать? Сначала сносим все к чёртовой матери: $ sudo apt purge *nvidia* после устанавливаем 390 драйвер из репозитория, на текущий момент это - последний драйвер и дальнейшей поддержки уже не будет (качать будет долго, готовимся)...
224 читали · 2 года назад
Unable to load module vguimatsurface.so! Half-Life 2 под Linux
При запуске нативной версии HL2 на Linux Вы можете столкнуться со следующей ошибкой: Unable to load module vguimatsurface.so! Всему виной отсутсвие ряда 32-х битных библиотек, необходимых для корректной работы игры. Чтобы найти каких библиотек недостает, следует выполнить команду находясь в каталоге с игрой: LD_LIBRARY_PATH=bin ldd bin/vguimatsurface.so | grep 'not found' В выводе будет список библиотек, которые не смог найти линковщик, их нам и надо поставить. Дальше, с помощью dpkg, ищем в составе...
2 года назад