С начала января я веду свой проектик, на котором обкатываю новые для меня технологии:
- Статический анализ кода, phpcs, phpmd, Scrutinizer
- Автоматическая сборка, Travis CI
- Unit тесты, PHPUnit
- Покрытие кода, Coveralls
- Работу через задачи для любых изменений, Github Issues, PhpStorm tasks
- Документирование всего: README, CHANGELOG, сайт проекта, –help
В этом посте изложена история изменений моего мнения о разных генераторах историй изменения.
Tl;dr: conventional-changelog, стандартизация коммитов.

Распробовал тут на неделе интеграцию задач Github и самого Git issue tracker.
Ниже будет написано, как настроить в Планфиксе такое поведение:
- В коммите упоминаем задачу, например,
Правки футера шаблона, https://test.planfix.ru/task/123456
- После push в удаленный репозиторий в упомянутой задаче появляется комментарий с текстом коммита и ссылкой на страницу коммита
на Gitlab, если проект подключен к репозиторию.
Tl;dr: настраивается post-receive hook в Git на удаленном сервере,
после каждого пуша анализируются сообщения пришедших коммитов, коммиты, содержащие ссылки на задачи отправляются в задачи по email.
Вся интеграция делается в одном файле, код хука лежит здесь -
git-hook-post-receive

Периодически хочется посчитать среднее время, у меня были такие сценарии:
- простая проверка скорости загрузки страницы
- подбор оптимальных параметров к команде
- сравнение разных команд
Раньше я просто запускал несколько раз с time, смотрел результат, у уме делил.
Но мне это надоело, поэтому написал скрипт average.
Хочу поделиться своим способом быть в курсе всего интересного в мире IT, читать много статей и знать, где быстро найти нужную статью.
Tl;dr: RSS + Twitter + Email → Pocket → Firefox → Twitter + закладки.

Оставлю здесь свой пост с хабра.
Перевод поста Visualizing Docker Containers and Images, от новичка к новичкам, автор на простых примерах объясняет базовые сущности и процессы в использовании docker.
Если вы не знаете, что такое Docker или не понимаете, как он соотносится с виртуальными машинами или с инструментами configuration management, то этот пост может показаться немного сложным.
Пост предназначен для тех, кто пытается освоить docker cli, понять, чем отличается контейнер и образ. В частности, будет объяснена разница между просто контейнером и запущенным контейнером.

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

Сегодня хотел заказать ароматизаторов на Baker Flavours, дошел до страницы заказа,
и увидел “Уважаемые заказчики! В связи с чрезвычайно большим количеством заказов, прием заказов временно прекращен.”.
Ок, будем ждать, пока эта надпись не пропадет, а чтобы не проверять руками, будем делать это на автомате и ждать уведомления.
Строчка для crontab:
0 20 * * * curl -s http://bakerflavors.ru/formbf.htm | iconv -f windows-1251 -t utf-8 | grep "временно прекращен" > /dev/null || { echo "BF order started" | terminal-notifier && open http://bakerflavors.ru/formbf.htm }
Подробности под катом.
Бывает, что надо вспомнить о чем-то в ближайшее время: выключить чайник, выйти к подъезду через 10 минут,
бросить заниматься фигней через полчаса - для таких вещей идеально подходит таймер. От таймера требуется только одно:
возможность установить его в течение 5 секунд. Недавно я нашел такой с такими плюсами:
- Настроить нужно один раз, после этого будет работать на всех системах, если включена синхронизация настроек браузера
- Пользоваться легко
UPD 05.03.2017: до сих пор пользуюсь через раз, либо этим способом, либо: “Окей, гугл, таймер на пять минут”.
UPD 12.04.2020: больше не пользуюсь, теперь в каждой комнате есть колонка с Алисой, проще сказать: “Алиса, таймер на 5 минут”.

UPD 20.05.2020: я уже несколько лет как не абонент Планеты, но Вебургом продолжаю пользоваться.
Теперь я использую её так:
- В браузере стоит юзерскрипт, который позволяет ставить на закачку в Transmission в 1 клик (на сервере должен быть запущен принимающий скрипт)
- Когда смотрю какой-то сериал, ставлю в cron задачу на ежедневное докачивание новых серий
У моего интернет-провайдера Планета есть бонусная программа поощрения раздачи торрентов с weburg.net, дающая бонусы,
их можно тратить на абонентскую плату. У меня комп постоянно включен, я сразу стал участвовать.
Поддержку раздач можно разбить на несколько задач:
- периодически скачивать новинки фильмов
- скачивать новые серии популярных сериалов
- удалять то, что плохо раздается
Через пару месяцев мне это надоело, задумался об автоматизации этого процесса и вот в новогодние каникулы родился
transmission-cli - консольная утилита, решающая часть этих задач.

Надоело постоянно обновлять PhpStorm руками. На Ubuntu последнее время делал это с помощью ansible,
под Mac этот плейбук не расчитан, к тому же версию ему надо было указвать вручную.
Поэтому написал скрипт, не совместимый с Ubuntu :)
UPD: 06.06.2016
Сегодня вышла EAP 2016.1.1, так вот, теперь app ставится не в PhpStormEAP, как раньше, а с версией, поэтому мой скрипт перестал работать.
UPD: 30.03.2018
JetBrains выпустил официальный инструмент для автообновления всего: Toolbox App
