Hatred's Log Place

DON'T PANIC!

Dec 5, 2023 - 5 minute read - Programming

Проброс последовательного порта по сети

Сетап:

  • Удалённое устройство, подключенное к серверу на Linux
  • Управление через COM порт
  • Управление тулом под Windows
  • Есть SSH доступ
  • Само устройство успешно удалённо программируется и отлаживается по JTAG

Нужно:

  • Запустить тул локально под Virtual Box (локальная машина тоже Linux)
  • Пробросить удалённый последовательный порт локально
  • Пробросить его в Virtual Box

Поиск в интернете даёт сходу два результата:

Оба пакета имеются в наличии в Manjaro/ArchLinux и поставить просто:

pacman -S socat ser2net

socat, к слову, уже был поставлен как зависимость kwallet-pam.

ser2net реализует RFC2217.

Nov 7, 2023 - 9 minute read - Туризм

Снежная с севера

На ноябрьские праздники группой единомышленников сгоняли Снежную по маршруту с севера. Хотя, если смотреть карту, то больше похоже на маршрут с Запада :)

map.jpg

Oct 22, 2023 - 1 minute read - Туризм

Семейная Фалаза или путешествие в зимнюю сказку

Выбрались в очередной раз на Фалазу с сыном. На этот раз собралась целая компания отцов:

  1. Я с Андреем
  2. Валентин со Львом
  3. Стас с Марком
  4. и Паша с Арсением

Сходили душевно. Пацаны залетели на вершину на одном дыхании, уже за ними нужно поспевать. Попали в зимнюю сказку, при этом на вершине вышло, как по заказу солнце и было очень тепло. Немного поиграли даже в снежки :)

Фото: https://disk.yandex.ru/a/3bEPHunfJyViAg

Oct 15, 2023 - 7 minute read - Туризм

Гора Сестра

Полторы недели назад в группе пролетел анонос, что компания ищет попутчиков на г.Сестру. Маршрут классический, пешка в один день с ночёвкой в приюте в Лазо. В понедельник вписался в эту затею, так как до этого времени ещё не дошёл до этой горы.

map

Oct 9, 2023 - 8 minute read - Туризм

Традиционная Читинза

Как обычно, на первые выходные октября собрал группу на мой традиционный выход. Правда традиция оказалась больше традицией для меня, но всё же: назвался груздем - полезай в кузов, или: назвал традицией - чти :)

map.jpg

Oct 2, 2023 - 2 minute read - programming

mdns vs libmicrodns

Потребовалось сделать в приложении анонсирование и поиск себе подобных. Причём без завязки на системный Avahi.

Выбор пал на три реализации mDNS/DNS-SD:

Первый отбросил из рассмотрения, так как показался слишком переусложнённым. Потом пошёл смотреть на libmicrodns - получилось собрать прототип очень быстро - мало кода. Но… жирный крест поставило то, что они до сих пор не исправили косяк, что нужно JOIN TO GROUP делать. Без этого анонсирование работает нормально, а вот запросы/поиск будет только на неком дефолтном, первом интерфейсе.

Пошёл на mdns. Для интеграции нужно больше кода, но почти весь можно как есть взять из примера mdns.c, библиотека без внутренних аллокаций. И очень неплохо дружится с внешними event-loop’ами, будь то libev или asio.

В общем, мой выбор - mdns.

А под катом - небольшая табличка сравнительная. Жирным - критерий преобладающий над соперником. Если ничто не выделено - нет приоритета.

Sep 6, 2023 - 2 minute read - programming

Временные метки на файловых системах

Короткая заметка и ссылки. Возможно потом дополню информацией о разрешении (resolution) временных меток.

  • FAT/FAT32
    • Хранит локальное время, без указания Timezone. Поменяешь в системе зону - время создания файлов останется без изменений. Т.е. нужно помнить в какой ТЗ они создавались.
    • Windows сохраняет вот прям вот локальное время
    • Linux добавляет час, при переводе часов
    • timestamp:
      • дата 16 битное число: 7 бит - год, 4 бита - месяца, 5 бит - день. Год в диапазоне 1980-2107.
      • время 16 битное число для часов, минут, секунд
  • exFAT:
    • Время хранится локальное. Но есть нюанс.
    • Временная зона хранится в 1 байте. Vista SP1 не использует его. Что бы нормально жилось, старший бит сигнализирует - применять или нет смещение зоны. 0 - не применять. 1 - применять. Остальные 7 бит - 15минутные интервалы для смещения. Положительное направление - на восток.
    • Т.е. если бит 7 в TZ поднят, то система будет пересчитывать время файла в UTC, что бы корректно отобразить в системе при смене часового пояса. Эдакая обратная совместимость.
  • NTFS
    • Время хранится в UTC
  • EXTx (EXT2/3/4)
    • Время хранится в UTC

Aug 18, 2023 - 1 minute read - programming

QtC: снова про отображение всех файлов в стоковом плагине CMake

Это логическое продолжение этого с учётом нововвидений по добавлению файлов.

Весь “код” разместил на GitHub: qtc-other-files-helper. Там же есть и детальное описание.

Тезисно:

  • Так же используем вспомогательный файл
  • Так же используем кастомный таргет
  • Но уже не сканируем дерево: отдаём на откуп пользователю, что добавить, что убрать. Что бы не конфликтовать с существующими файлами.
  • Не используется CMAKE_TOOLCHAIN_FILE, вместо него - CMAKE_PROJECT_INCLUDE.
  • Доработано решение для использования как на уровне per-project, так и глобально, на уровне Kit. Но бросить файлик второй в директорию с проектом всё равно нужно будет.

Из косяков:

  • При добавлении файлов, QtC стремиться создать новую запись target_sources() в CMakeLists.txt верхнего уровня. Приходится вручную вырезать и вставлять в qtc-other-files.cmake

Ну и в старом способе была проблема, что эти файлы попадали в кодовую модель и мешали парсеру. Детально не разбирался в новых реалиях.