Написать пост

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

Аватар Иван Бирюков

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

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

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

Превью видео NnBb1wmHj5k

Режимы

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

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

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

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

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

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

			git clone https://github.com/noidontdig/gitdown.git
cd gitdown
bundle install
		

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

			cp commit-msg .git/hooks/
		

Для использования этого проекта необходим  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 и закоммитить изменение для наблюдения за действием скрипта.

			echo "random change" >> commit-msg
git commit -a -m "messing up the repo"
		

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

Следите за новыми постами
Следите за новыми постами по любимым темам
7К открытий7К показов