Oleg Atamanenko

thoughts about programming

Борьба с убийцами производительности

Summary: Мой опыт борьбы с "убийцами производительности".

Постановка проблемы

Иногда бывает так, что хочется отвлечься от работы, от поставленной задачи на какую-нибудь фигню, лишь бы не заниматься текущей задачей. У меня это чаще всего сводилось к тому, что я начинал читать что-нибудь в сети (Google Reader, Habrahabr, LOR, etc).

Истоки проблемы могут быть абсолютно разными, например:

  1. Долгий запуск среды разработки
  2. Долгая сборка проекта
  3. Нудная задача
  4. Неинтересная задача

Все эти причины спокойно могут приводить к потере производительности, причём неявным образом, например - "А посижу пока я на хабре, пока полная сборка идёт", в итоге после 20 минут обнаруживается, что сборка закончилась уже 15 минут назад.

Так как у меня тайм-киллер вполне простой - интернет, то и решение вполне простое.

Вот список действий, что я сделал:

  1. Удалил быстрые браузеры, теперь у меня только Mozilla Firefox под Linux и страшный Internet Explorer 6.0 под Windows.
  2. Забанил сайты которые не нужны для работы, но на которых я провожу много времени.

Сначала я сделал радикальный бан - внёс в /etc/hosts эти сайты:

127.0.0.1 www.linux.org.ru linux.org.ru
127.0.0.1 www.habrahabr.ru habrahabr.ru
127.0.0.1 www.lorquotes.ru lorquotes.ru

Но потом обнаружилось, что есть ещё Google Reader, который также отнимает много времени (у меня было до 200 подписок, что давало до 300 новых статей в сутки). Проблему с Google Reader я решал поэтапно:

  1. Почистил список лент от юмора, который обновляется практически ежедневно, является пожирателем трафика и времени.
  2. После этого я почистил список лент от лент, которые достаточно интересные, но при этом без них можно спокойно обходиться (Например, блог Аарона Сейго, одного из главных разработчиков KDE)

Вышеперечисленные действия помогли мне сократить список фидов с 200 сначала до 100 с небольшим, а затем и до 65. Но я понимал, что это ещё не предел и есть к чему стремиться, поэтому решил перейти к использованию оффлайнового RSS-клиента.

Для этого я экспортировал OPML-файл с подписками из Google Reader, удалил все ленты (к сожалению, удалить аккаунт на Google Reader невозможно, только полностью Google Account) и импортировал на Akregator на домашней машинке. Это помогло мне аккумулировать все чтения ленты новостей в один временной промежуток - вечером, дома.

Но, как оказалось, ещё есть к чему стремиться и гугление на просторах сети дало свои результаты: LeechBlock.

LeechBlock это расширение для Mozilla Firefox, которое позволяет блокировать отдельные сайты на различные промежутки времени.

Собственно, начав им пользоваться, я понял, что это именно то, что мне нужно:

Leechblock Settings UI

Возможности данного расширения следующие:

  1. Блокировка сайтов различные периоды времени
  2. Блокировка сайтов по временному диапазону, в том числе по дням недели.
  3. Поддержка нескольких наборов сайтов для блокировки
  4. Возможность быстрого добавления сайта в список для блокировки

Конечно, данное расширение не является панацеей, его нужно использовать в комплексе с другими средствами.