Вот и я поддался на соблазн и перешел с Vim на NeoVim. Адаптировать конфигурацию vim для поддержки nvim или написать все с нуля? А может взять готовую конфигурацию? Я попробовал разные варианты – своя конфигурация, сборки NVChad, LunarVim, AstroVim, LazyVim. …
Development
Прощай YouCompleteMe, привет COC.VIM
Устал от борьбы с YouCompleteMe и решил окончательно прибраться на coc.vim + coc-clangd. Ранее я уже делал попытки использовать coc.vim в связке с ccls, но каждый раз откатывался на монструозный, но привычный YCM. Из плюсов ccls можно выделить удобство настройки …
Менеджер Python для macOS
Правильный способ установки нескольких версий Python, не нарушающий работу системы и позволяющий легко переключаться между версиями. Краткое изложение оригинальной статьи Устанавливаем менеджер Python с помощью менеджера пакетов brew. С помощью переменной окружения PYTHON_CONFIGURE_OPTS разрешаем фреймворк (это нужно для YouCompleteMe): Устанавливаем …
Trim TTF
Для удаления неиспользуемых глифов из TTF или OTF можно воспользоваться консольной или GUI-утилитой FontForge или консольной утилитой FontTools. Оба инструмента открыты и кроссплатформенные. Для чистки огромного 16Мб файла OTF я воспользовался утилитой FontTools. Для этого с помощью cat собрал все …
Простой токенизатор
В прошлом году мне понадобилось доработать токенизатор в моем движке. Поэтому я быстро набросал новую простейшую версию. Токенизатор хранит лишь начало/конец токена аля std::string_view. Поддерживается UTF-8. Поддерживает произвольный набор разделителей и их произвольную длину. Может быть достаточно легко доработан до …
Android logging
Большинство android-разработчиков знакомы с командой logcat или ее версией adb logcat. Но не все знают, что эта команда имеет много приятных и полезных опций. Например, опция -e поддерживает выражения (прощай grep). А так же подсветку, что делает выхлоп более читабельным. …
Emscripten «ReferenceError: Can’t find variable: IDBFS»
Если после сборки проекта у вас перестала работать IDBFS, то значит у вас Emscripten v1.39.1 или новее. ReferenceError: Can’t find variable: IDBFS Начиная c Emscripten v1.39.1 поддержка всех файловых систем (NODEFS, IDBFS, WORKERFS, PROXYFS) была вынесена в отдельные модули. Достаточно …
IndexedDBFS + Local Storage
Локальное хранилище IDBFS отлично подходит для хранения профайла игры между сессиями. Позволяет хранить относительно большие файлы и с ним удобно работать благодаря реализованным fopen/fread/fwrite/fclose в Emscritpen. Но из-за политики безопасности браузеров это хранилище не всегда доступно. При попытке выполнить FS.syncfs() …
netcode.io
netcode.io – протокол для защищенного клиент/сервер соединения поверх UDP разработанный Glenn Fiedler. Протокол разработан для игр с выделенным сервером. Его основные фичи: Защита от MitM (man-in-the-middle) атак. Защита от DDoS атак. Защита против атак с повтором пакетов. Защита от зомби-клиентов. …