Lyrics Tagger

Предыстория

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

Решение выглядит очевидным - надо встроить тексты песен в сами музыкальные файлы. Благо, основные форматы это позволяют. Музыку я храню во FLAC, а на смартфон закидываю в …

more ...

Удобная настройка Sensu с Ansible

Так как я использую Sensu для мониторинга, и Ansible для управления конфигурациями, то конечно же я настраиваю Sensu с помощью Ansible.

В этой связке меня смущало только одно - Sensu использует JSON для конфигов, в то время как Ansible использует YAML. Поскольку JSON является подмножеством YAML, и описывать конфигурации в YAML гораздо проще (никаких проблем с запятыми, скобочками), хотелось писать в YAML и транслировать в JSON.

Начал я, конечно, с использования …

more ...

Разбирался с page-cache в Linux

Читая книгу "Разработка ядра Linux" за авторством Роберта Лава, я решил поглубже разобраться в том, как работает кэш в Linux, и набрел на вот эту статью на Хабре от Яндекса.

Сама статья весьма познавательна, особенно видео - рекомендую. Так вот, в этом видео Роман Гущин, с помощью простой утилиты, наглядно показывающей размер кэша, показывал как работает файловый кэш.

Конечно, мне захотелось в образовательных целях написать такую утилиту для себя, чтобы можно …

more ...

Инфраструктура как код

Есть такой тренд сейчас - работать с IT-инфраструктурой как с кодом. Хорошо цель этого метода описывается этой цитатой:

“Enable the reconstruction of the business from nothing but a source code repository, an application data backup, and bare metal resources”

-- Jesse Robins

Я полностью поддерживаю эту идею, причем именно в этой трактовке.

Если говорить про парадигму, которую нам предлагает этот метод, то вот она:

Поддерживать модульную, легко поддающуюся автоматизации инфраструктуру, и описывать …

more ...

s/Ruhoh/Pelican/

Переехал с Ruhoh на Pelican, потому что Python.

А если подробнее - потому что Ruhoh написан на Ruby, и не особо развивается. А Pelican написан на Python, который является моим основным языком, и уже давно и активно развивается, и обладает обширной базой плагинов и тем.

more ...

Выложил немного полезностей

Когда я писал про то, как переписал скрипты для Sensu, я слегка слукавил. Изначально, я написал эти скрипты на Python, и только потом на Ruby. Поскольку пользователям других Nagios-совместимых систем мониторинга может показаться неудобным использование ruby-скриптов, да еще и с зависимостью от гема sensu-plugin, я решил выложить и Python-версии скриптов.

Если кому хочется мониторить состояние дисков в raid-контроллерах от 3ware или HP SmartArray на чистом Python - милости просим, все в …

more ...

Открыл для себя плагины к tmux

Случилось чудесное - LOR принес мне пользу. Оттуда я узнал о плагине tmux-resurrect, а точнее, вообще о существовании плагинов для чудесного мультиплексора терминалов tmux.

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

Я, к примеру:

  • сильно сократил конфигурацию, используя tmux-sensible;
  • с помощью tmux-yank выкинул свои костыли для копирования в буфер обмена;
  • смог убрать настройки для vi-образной навигации между панелями …
more ...

Переписал скрипты на Ruby для Sensu

Поскольку я перевел мониторинг с Zabbix на Sensu, пришлось переписать свои скрипты проверки состояния жестких дисков в raid-контроллерах от 3ware и HP SmartArray для использования в Sensu. Ну а раз все равно переписывать - то писать я решил на Ruby, чтобы можно было без проблем заслать в sensu-community-plugins

Скрипты весьма просты, так что проблем при переписывании никаких не было.

Если кому надо - все уже отдано сообществу, теперь Sensu может мониторить состояние …

more ...

Модуль zabbix_maintenance

Свершилось чудо, и мой модуль для Ansible, который умеет создавать и удалять периоды "в обслуживании" в Zabbix, наконец-то приняли в апстрим. Это уже третий мой модуль, принятый в апстрим Ansible.

Краткая история:

Модуль этот я запушил еще в 26 ноября 2013 года, но 21 декабря cove написал в комментарии к моему модулю, что планирует выложить целую пачку модулей для взаимодействия с Zabbix из Ansible. Это отложило принятие моего модуля в …

more ...

Ansible и serverspec

Когда я готовил playbook для своего VPS, я взял за основу Sovereign. В этом репозитории меня заинтересовал файл tests.py, содержащий тесты для результирующего сервера. У меня сразу же возник вопрос - почему тесты самописные, на голом Python, а не на каком-нибудь готовом решении. Я решил изучить, что же есть сейчас для TDD-администрирования. Оказалось, что толком ничего и нет, а то, что есть - для Ansible не особо нужно.

Для начала, что …

more ...