вторник, 29 января 2019 г.

Заменить табуляцию на пробелы в Vim

Открыл для себя команду retab в vim для замены символов табуляции на нужное количество пробелов. Чтобы визуализировать символы табуляции можно воспользоваться командой list.

Раньше я использовал операцию замены

:set list
:%s@\t@    @g
:set nolist

но команда retab кажется более универсальным инструментом

:set list
:set ts=4 expandtab
:retab
:set nolist

воскресенье, 20 января 2019 г.

Последствия локализации производства

Сейчас это может прозвучать странно, но по нескольким причинам в детской комнате во всех светильниках установлены лампы накаливания:
  • нет проблем с восприятием цветов поскольку спектр лампы равномерный
  • нет мерцания в силу инертности нагретой спирали
  • правильно работают с выключателями, оборудованными светлячками
Меня не особо волнует сколько электричества они потребляют, но когда Osram, Philips и прочие начали производстов своих ламп в Беларуси их надежность стремится к нулю. Приходится менять лампочки каждые несколько недель, а иногда и дней. Хотя заявленные 1000 часов это почти полтора месяца непрерывной работы.

вторник, 15 января 2019 г.

Ремонт мойки воздуха Boneco Air-o-Swiss W1355A

Уже несколько лет в комнате детей трудится мойка воздуха Boneco Air-o-Swiss W1355A. В отопительный сезон относительная влажность в помещении падает ниже 30% при норме в 40-60%. Работа мойки воздуха позволяет удерживать относительную влажность в детской на уровне 40-45%. И вот на прошлой неделе этот агрегат перестал работать.

среда, 2 января 2019 г.

perl: Text file busy, skipping file

В процессе прикручивания pre-commit хуков к репозитарию terraform модуля столкнулся с очередным приколом shared folders в Virtualbox (vboxsf). Долго не мог понять почему хук terraform_docs отрабатывает без ошибок, но в README.md нет никаких изменений. Покопался в terraform_docs.sh и нашел место где выполняется подстановка вывода terraform-docs в разрыв маркеров в README.md.

После подстановки значения "$text_file" получается такая команда

perl -i -ne 'if (/BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK/../END OF PRE-COMMIT-TERRAFORM DOCS HOOK/) { print $_ if /BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK/; print "I_WANT_TO_BE_REPLACED\n$_" if /END OF PRE-COMMIT-TERRAFORM DOCS HOOK/;} else { print $_ }' README.md