Архив рубрики: software

И они ещё борются за звание дома высокой культуры и быта

2020 год, самый популярный веб-сервер — nginx, но у Open Journal Systems до сих пор нет документации по установке этой системы управления научным журналом под нужным сервером

We don’t have an official installation guide for it.

Предлагают и дальше читать форумы.

Отбросим костыли

В прошлую пятницу вышла Open Journal Systems 3.2.0.0 и там наконец-то имена авторов и пользователей многоязычны «из коробки», а не после танцев с бубном и применения костылей.

Попробовал завести пробный журнал с одной-единственной статьёй — вроде, работает, да и ввод стал поудобнее, чем в OJS 2. Но прямо сейчас я бы не стал переключать на новую версию даже одноязычные журналы — эта версия с глюками и на один из них я уже наткнулся.

Впрочем, готовиться к грядущим переездам уже можно — раз нынешняя версия позволит сразу создавать журналы, соответствующие требованиям ВАК, значит, будут и запросы на миграцию тех журналов, что сейчас работают с костылями — а их только моими руками сделано несколько штук плюс вполне возможно, что кто-то смог мои наработки применить самостоятельно.

Дополнение: 20 марта вышла версия 3.2.0-1 — там переключатель работает

Не бравурно

Ради вёрстки нотного сборника пришлось всё-таки наладить относительно новый компьютер (ну он тоже не новый, но хотя бы сильно шустрее старого), а в нём — сюрприз! — лилипондовые ноты компилируются как-то странно: LilyPond выдаёт кучу ошибок

make
lilypond a4.ly
GNU LilyPond 2.18.2
Processing `a4.ly'
Parsing...
Interpreting music...
MIDI output to `part-bass.midi'...
Interpreting music...
MIDI output to `part-soprano1.midi'...
Interpreting music...
MIDI output to `part-soprano2.midi'...
Interpreting music...
MIDI output to `part-alto1.midi'...
Interpreting music...
MIDI output to `part-alto2.midi'...
Interpreting music...[8][16][24][32][40][48]
Preprocessing graphical objects...
warning: no glyph for character U+E062 in font `/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf'
warning: no glyph for character U+E0A4 in font `/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf'
warning: no glyph for character U+E0A4 in font `/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf'
warning: no glyph for character U+E0A4 in font `/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf'
warning: no glyph for character U+E0A4 in font `/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf'
warning: no glyph for character U+E050 in font 

независимо от способа запуска: хоть мышкой в кнопки Frescobaldi тычь, хоть в терминале команды набирай — итог один.

Да и внешне результат далёк от желаемого:

Ноты с ошибками

Причина оказалось простой, но из лога совершенно невозможно понять в чём же дело — действительно, LilyPond не мог найти нужных символов, но шрифт DejaVu Sans тут ни при чём — символов не было, потому что используемый в этих нотах шрифт Bravura (хороший, кстати, шрифт — крут как тот, что в лилипонде по умолчанию, но при этом в нём скрипичный ключ не имеет лишних изгибов) отсутствовал в системе. Решается легко — копированием шрифтовых файлов в /usr/share/lilypond/ВЕРСИЯ/fonts/otf

Цветной Subversion

Git умеет «из коробки» раскрашивать то, что выводит в консоль, а Subversion — нет. Надоело руками каждый раз перенаправлять вывод svn diff в colordiff — написал простенькую раскрашивалку. Когда-то умела красить только вывод подкоманды status, теперь понимает blame (praise, annotate, ann), diff (di), help (?, h), status (stat, st) — и сами подкоманды, и их синонимы.

https://github.com/shoorick/svn-st-color

Тестирование PHP-приложений из Geany

Когда-то я настраивал запуск тестов перловых Mojolicious-приложений прямо из IDE Geany. Потом довелось попробовать микрофреймворк Slim для PHP — ну да, работает, хотя тесты там более многословные по сравнению с перловыми.

А теперь попробуем настроить Geany для запуска тестов в современных PHP-приложениях — например, для использующих уже упомянутый Slim. Для запуска тестов в PHP существует PHPUnit — это не единственный инструмент, хоть и весьма популярный. Настройки тестирования зависят от проекта — в каждом проекте они могут быть своими. В Geany 1.27 настройки вызываются через меню: Project → Properties → вкладка Build либо Build → Set Build Commands:

  1. Задаём имя команды, под которым она будет отображаться в меню — нажимаем на пустую кнопку в столбце Label (в моём примере это была вторая сверху кнопка, на которой теперь написано Test).
  2. Указываем в столбце Command путь к PHPUnit — он может лежать, например, в подкаталоге vendor/bin относительно корня приложения. В случае, если он лежит внутри проекта, базовый путь проекта можно записать как %p.
  3. В столбце Working directory указываем путь к корневой папке приложения.
  4. В строке Error regular expression указываем регулярное выражение для поиска ошибок:
    ^(.+):(\d+)$
    PHPUnit выводит в сообщении об ошибке разделённые двоеточием полный путь к файлу и номер строки с ошибкой. Если даблкликнуть^W дважды щёлкнуть по сообщению, можно быстро перейти к соответствующей строке, кроме того, все строки, вызвавшие ошибки тестирования, выделяются подчёркиванием красной волнистой линией.

После настройки тесты можно будет запускать кучей разных способов: через меню, кликом по кнопке с кирпичом, а также с клавиатуры (по умолчанию — клавишей F9).

Один белый, другой синий — два слона весёлых

Пробую вышедший недавно четвёртый pgAdmin — а это (внезапно!) веб-приложение, как сейчас модно. Ладно хоть, не тащит за собой ни хром, ни мозиллу, а запускается в новой вкладке существующего браузера. Написано на питоне, весит 22 МБ, из коих половина — картинки, клиентские скрипты, шрифты да переводы.

Аська выступает

ICQ (точнее, Mail.ru Group), похоже, хочет заставить пользователей переползти на использование нового клиента. Мне кажется, эффект будет обратным — народ разбежится.

Вот я, например, не собираюсь ни с отдельным клиентом возиться (мне универсального Пиджина хватает), ни держать аську в браузере — и без неё десятки вкладок иногда открыты. Так что если с нового года моя ромашка покраснеет — значит, пишите письма. Почта куда надёжнее аськи.

Разрешаем Имиджмеджику делать PDF

ImageMagick позволяет собирать многостраничный PDF-файл из нескольких растровых картинок, но не всегда — на некоторых компьютерах выдаёт ошибку

convert: not authorized `result.pdf' @ error/constitute.c/WriteImage/1028.

Причина — в том, что в конкретном экземпляре может быть запрещено создавать PDF, но есть рецепт, как это исправить: в файле /etc/ImageMagick-6/policy.xml надо включить нужное разрешение — строку

<policy domain="coder" rights="none" pattern="PDF" />

надо заменить на 

<policy domain="coder" rights="read|write" pattern="PDF" />

После этого PDF-файл будет нормально создаваться.

Теперь осталось понять, почему же готовый файл вдвое тяжелее суммы исходных. Добавление в команду преобразования параметров -dither none -colors 2 на размер готового файла практически не влияет.

Иконки в пятом либреофисе

Пятой версией пакета LibreOffice, когда она запущена в девятом дебиане, где по умолчанию стоит третий Гном и тема оформления Adwaita, пользоваться неудобно — в меню без иконок легко запутаться, а прошлогодний рецепт по их возвращению не помогает. Оказалось, у советских — собственная гордость^W^W^W^W в LibreOffice применяются свои собственные настройки — T̲ools → O̲ptions (Alt+F12)

Настройки LibreOffice

По умолчанию установлено автоматическое отображение либо скрытие иконок и в моём случае это всё-таки скрытие. Если их включить — менюшки станут удобнее — и основное меню поменяется, и контекстные.

Меню

Офисные меню выглядят не очень хорошо — вместо отсутствующих иконок надо было бы показать пустоту и сдвинуть текст, но даже в таком виде лучше, чем совсем без иконок.