Pull to refresh

Time Management для Ubuntu'водов

Reading time5 min
Views18K
dropbox logo

Многих хабровчан интересует вопрос Time Management'а. Именно этим объясняются высокие рейтинги статей, описывающие разные методики и технические средства с ними связанные. Попробую и я внести свою лепту, рассказав о том, как на базе нескольких линуксовых машин (3 х Ubuntu 9.10) мной реализована и используется последние полгода система планирования и составления списка задач (Getting Things Gnome! 0.2.3 aka GTG), хронометраж (Time Tracker 2.29.92 aka Project Hamster) и синхронизация конфигурационных и файлов баз данных с помощью Dropbox for Linux v.0.7.110 , так сильно любимого на просторах хабра. Первые два приложения написаны на питоне, что делает их ещё более привлекательными, т.к. позволяет самому быстро разобраться в коде и подвинтить их (приложения) под себя. Хотя и в стандартной конфигурации они справляются с поставленными задачами очень даже не плохо.


Начнём с наглядного описания программ, т.е. со скриншотов.

Getting Things Gnome!


Пример моего реального списка задач по аспирантуре:



  • Новая задача может быть добавлена через строку «быстрого ввода»
  • Каждая задача может быть открыта как отдельное окно для редактирования, с возможностью в этом окне добавлять подзадачи и метки
  • Задачи объединяются в древовидную структуру. Т.е. любая задача может быть разбита на подзадачи.
  • Имеется целый ряд подключаемых плагинов. Из самых интересных взаимодействие с RememderTheMilk и Hamster Project
  • Кнопка «Work view» покажет только концы веток, т.е. именно те задачи, которые должны быть выполнены первыми.
  • Наличие меток позволяет быстро находить необходимые задачи.
  • Каждой задаче можно приписать две даты: начало задачи и окончание. От этого будет зависеть попадёт ли задача в Work View или нет


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

Project Hamster


Функциональность и потрясающий дизайн — основные черты данной программы. Что ещё больше потрясает, так это то, что весь проект ведёт и поддерживает один-единственный человек: Toms Bauģis. Хотя он с удовольствием принимает изменения от других разработчиков.

Вот отчёт о моём хрометраже за пару месяцев:
Project Hamster

Отчёты — это то, ради чего и ведётся весь хронометраж. Именно по отчётам можно узнать на что было потрачено сколько времени. Могу сказать, что именно Hamster отучил меня сидеть за стрелялками часы на пролёт. Вы удивитесь сколько времени пропадает на такие, казалось бы, безобидные вещи, как чтение новостей, игрушки или выход с друзьями на кофе. Я не призываю бросать заниматься этим, я всего лишь советую ознакомиться с числом часов, потраченных на разную деятельность. Эти данные заставляют задуматься.

Вот например оказывается, что я уже больше двух часов трачу на написания этой статьи:

Project Hamster

  • Hamster — это GNOME Applet, который вешается на гномовскую панель
  • Приложению можно приписать быстрые клавиши
  • Оно так же сохраняет список категорий, задач и меток, которые были введены ранее
  • В результате регистрация новой задачи занимает всего пару секунд
  • Можно так же вводить уже завершённые задачи, которые по какой-либо причине не были записаны
  • Выборка при просмотре статистики по дням, неделям, месяцам или даже годам.
  • Выборка статистики по категориям и/или меткам


Dropbox


Dropbox не нуждается в представлении. Но всё же, если вы услышали о нём в первый раз, то знайте, это программа мгновенной синхронизации папок, написанная не только для Linux, но не поверите так же для Window и Mac. Бесплатный аккаунт позволяет синхронизировать папки размером до 2ГБ.

  • Web-интерфейс, с возможностью манипуляций файлами (откат версий, просмотр и т.д.)
  • Отличная интеграция с операционной системой. Т.е. для вас это будет просто папка в домашней директории.
  • Возможность в один клик получить ссылку на файл, которую можно послать другому человеку. Хороший способ делиться фотографиями.
  • Папка или файл могут делиться сразу между несколькими аккаунтами. Т.е. несколько человек будет одновременно иметь доступ и возможность изменять какой-либо файл или директорию
  • Реферальная система позволяет увеличить место на виртуальном диске до 10ГБ, или же его можно купить.


Вот такой вот список возможностей. Ну а теперь к интегральной глаболизации! глобальной интеграции.

Напильник


Идея такова, что при установки Dropbox'а он просит указать какая папка будет синхронизироваться. Именно в эту папку мы и собираемся поместить наши конфигурационные файлы для GTG и Hamster. А потом просто сделать линк на эти файлы в тех местах, где программы пытаются их найти.

GTG хранит свои файлы в папке ~/.local/share/gtg. Hamster хранит SQLite базу данных в ~/.local/share/hamster-applet/hamster.db. Допустим, что мы согласились с установками по умолчанию, и поставили Dropbox папку в ~/Dropbox/, тогда последовательность действий следующая:

  1. Создаём рабочую папку внутри Dropbox'а, например ~/Dropbox/work/
  2. Копируем папки ~/.local/share/gtg/ и ~/.local/share/hamster-applet/ в
    рабочую папку ~/Dropbox/work/
  3. Теперь удаляем папки по их первоначальному месторасположению (программы
    лучше при этом пусть будут выключенными)
  4. Создаём symbliic link на папки в нужном месте:
    ln -s ~/Dropbox/work/gtg/ ~/.local/share/gtg
    ln -s ~/Dropbox/work/hamster-applet/ ~/.local/share/hamster-applet
  5. Наслаждаемся плодами цивилизации


Пару ''НО'':
  • GTG записывает свои файлы после каждой нажатой клавиши (авторы параноики), поэтому можно не бояться — синхронизация произойдёт 100%
  • Hamster стартует раньше (при загрузке GNOME) и поэтому синхронизация может не успеть. И тогда будут использоваться старые данные. Это лечиться перезапуском Hamster'а. Например следующей командой:

    /bin/kill $(/bin/ps axfv | /bin/grep hamster-applet | /bin/grep python | /usr/bin/head -c 6)

    Команда была записана в скриптовый файл и выложена для быстрого запуска на всю туже самую GNOME панель
  • После публикации самой статьи на хабре мне на почту пришло письмо от самого Toms Bauģis'а. Он сказал, что начиная с Хамстера 2.29+ добавлена поддержка автообновление базы данных, если она изменила свой размер. Но оказалось, что эти изменения не фиксируются, если указан не реальный файл, а софтлинк, как в случае с Dropbox'ом. По этому поводу уже открыли багрепорт тут: https://bugzilla.gnome.org/show_bug.cgi?id=614779 Но способ всё же есть.


  1. Нужно оставить файлы Hamster Project там где они и есть ( это при установке на первую машину). Софтлинк организовать в обратную сторону, т.е. например так:

    ln -s ~/.local/share/hamster-applet/ ~/Dropbox/work/hamster-applet

    Dropbox уже умеет следовать линкам и синхронизировать папки и файлы, на которые эти линки указывают
  2. Немного странным выглядит подключение второй, третьей и т.д. машины, но это только из-за того, что мы хотим указать Dropbox'у на файл, который как бы уже числиться в его каталоге. Давайте последовательно — так будет проще. Установили на другой компьютер Hamster. Идём в ~/.local/share/hamster-applet/ и естественно видим, что и папка, и файл базы данных уже существует.
  3. Копируем из Dropbox'овской директории файл в папку Hamster'а
  4. Hamster обнаружит изменение базы данных и откроет новую базу (точнее старую, т.е. ту, в которой были записи с первого компьютера)
  5. Теперь нужно сделать софтлинк из папки Hamster'а в папку Dropbox'а. Но это сделать не получиться, т.к файл по месту назначения уже существует. Поэтому мы просто удаляем его. Т.е. если мы решили делать софтлинк на всю директорию целиком, то просто удаляем это всю папку

    rm -r ~/Dropbox/work/hamster-applet

  6. Ну и последнее действие — восстанавливаем файл в папке Dropbox'a.

    ln -s ~/.local/share/hamster-applet/ ~/Dropbox/work/hamster-applet

    Теперь у нас две машины синхронизированы, и Hamster сам обновит базу, если увидит, что что-то было внесено с другой машины.


На этом у меня всё. Спасибо за внимание.

PS: У меня уже стало традицией выкладывать график, показывающий активность в написанной статье:
image
Tags:
Hubs:
+66
Comments39

Articles

Change theme settings