Cкрипт, модерирующий вашу git-активность в соответствии с концентрацией алкоголя в крови

Пользователь Reddit нашёл в сети интересный скрипт, который модерирует ваши коммиты в зависимости от концентрации алкоголя в крови.

Gitdown использует DrinkShield в качестве анализатора дыхания и Ruby-скрипт в качестве git-хука. Проект был создан Alex Qin и Geoffrey Litt для участия в хакатоне hackNY в 2013 году, и занял там первое место.

С демонстрацией работы можно ознакомиться ниже:


Режимы

Gitdown может работать в трёх режимах:

  • Normal: позволяет совершать коммиты с концентрацией алкоголя ниже 0.05%.
  • Krunk: позволяет совершать коммиты с концентрацией алкоголя выше 0.05%.
  • Ball(m)er: позволяет совершать коммиты с концентрацией алкоголя между 0.13% и 0.15%.

ballmer_peak

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

При этом, если включён параметр «verbose», gitdown также поделится полезными фактами об ухудшении вашего состояния.

Использование

Сперва клонируйте репозиторий и установите необходимые gem’ы:

Для использования скрипта в качестве хука его нужно скопировать:

Для использования этого проекта необходим  Arduino Uno с модулем DrinkShield. Откройте файл arduino_gitdown/arduino_gitdown.ino в Arduino IDE и загрузите его на Arduino.

Затем откройте конфиг .gitdown и измените три параметра:

  • mode: Нужно указать один из трёх вышеописанных режимов.
  • port: Здесь нужно указать значение, которое можно найти в разделе «Serial Port» в Arduino IDE. Значение по умолчанию — /dev/tty.usbmodem1421, и оно работало на Macbook Air, используемом для разработки.
  • verbose: Выставить «true» или «false» для выдачи полезной информации о состоянии при текущей концентрации алкоголя в крови.

Потом вы можете попробовать изменить файл в репозитории gitdown и закоммитить изменение для наблюдения за действием скрипта.

В зависимости от режима и концентрации алкоголя в крови скрипт либо разрешит, либо запретит совершить коммит.

Источник: Reddit