Печать на принтере TSC-210 из консоли

В ходе эксплуатации принтера этикеток TSC-210 в среде 1С под Linux выявилась особенность, что он не выдерживает правильные отступы при печати, даже при установке нужных параметров бумаги. Выходом явилось сохранение печати в файл, а затем печать полученного файла при помощи просто скрипта вида:

Яндекс OCR: разметка данных

В ходе использования облака Yandex OCR для распознавания данных, выявилось что при анализе получаемого на выходе JSON, очень не достаёт визуализации полученных данных. Для того чтобы эту ситуацию чуть улучшить, написал скриптик, который на входе получает картинку для распознавания и JSON полученный от Яндекса, а на выходе выдаёт картинку с нанесенными распознанными блоками и таблицами.

Собственно код:

Получаем картинку вида:

разметка на основе Yandex.ocr

PHP и его странная математика

Столкнулся с очень чудесной ошибкой на PHP:

Что вы ожидаете увидеть в выводе? 115? А вот и нет. Если echo выведет 115, то var_dump выведет 114.99999

Что не так с float?

Тип float в языке PHP, как и его “родственник” тип double, вовсе не предназначен для точного представления десятичных дробей. Всё что мы записали в float, хранится в приближенном значении, с некоторой погрешностью.

Решение: в виду того что в PHP это считается фичей, а не багом, то для точной работы с математикой нужно использовать модуль bcmath. Ну или использовать округления до нужной точности

P.S. Не первый раз уже вспотыкаюсь об это

GitItea: does not appear to be a git repository

Как оказалось такая совершенно не очевидная ошибка показывается (помимо варианта что и на самом деле вы напутали с URL репозитария) и когда что-то случилось с вашим открытым SSH ключём. Соответственно достаточно сгенерировать новый:

А затем добавить содержимое файла ~/.ssh/id_ed25519.pub в админке GitItea в раздел «Ключи SSH»

Перенос БД с MySQL на Postgresql

Как то уже описывал в одном из постов, что в одной из инсталяций внедрял WordPress на основе БД PostreeSQL. И в принципе спустя год могу сказать что особых проблем пока не возникло. Кроме одного НО! Если требуется какой-то установить плагин, то чаще всего он просто так, без некоторой адаптации не заработает. Вот сейчас адаптирую плагин «WP Voting Contest Lite«, который можно использовать для «выбора лучшего фото» пользователями.

В данном случае столкнулся для начала с проблемой его установки. При активации он пытается создать, если отсутствуют таблицы:

  • wp_votes_tbl
  • wp_votes_post_contestant_track
  • wp_votes_custom_registeration_contestant
  • wp_votes_custom_field_contestant

В которых встречается имеющийся в MySQL, но отсутствующий в PostgreSQL тип ENUM. Ну чтож.. создадим эти типы «руками», благо такая возможность в PostgreSQL предусмотрена:

И далее создать таблицы по типу:

1 5 6 7 8 9 298