Показаны сообщения с ярлыком продуктивность. Показать все сообщения
Показаны сообщения с ярлыком продуктивность. Показать все сообщения

Getting Things Done: вся идея GTD одним рисунком



28 коммент.
Сегодня весь день у автора этих строк работа никак не клеилась, и он по этому поводу решил страдать ерундой написать пост в бложик. Повод тем более благодатный, ибо автору пришла в голову мысль сделать из всей системы Getting Things Done (басурм.: Приводим дела в порядок) один большой шарж забавы ради и пользы дела для. Собственно...
Читать далее

Pomodoro: тайм-менеджмент, который работает



30 коммент.
Некоторое время назад, автор этих строк сдул пыль с метки "Продуктивность" и поделился своим скромным опытом в Getting Things Done.  В деле увеличения надоев продуктивности, помимо управления задачами (GTD), желательно иметь и методы управления временем. Простой, как всё гениальное, таймер Pomodoro поможет сконцентрироваться на работе и добавит немного юмора в процессе.

Читать далее

Назад в мезозой к программным динозаврам вместе с системой контроля версий Fossil



37 коммент.
Несмотря на обилие существующих систем управления версиями (Version control systems), сквозь асфальт устоявшихся DVCS пробиваются время от времени новые и свежие поделки попытки. DVCS всё пилят и пилят, а серебряной пули как не было, так и нет: у одной системы - бинарные патчи, у другой - нет симметричного push, третья написана на питоне, и, хотя это наименьшее из зол, проблемы из-за наличия другой версии питона не радуют.

Но вот сравнительно недавно появившийся Fossil уже несколько возмужал и окреп, и для некоторых не особо больших и важных проектов, кажется, уже годен для использования.
Читать далее

Ударим GTD по бездорожью и разгильдяйству!



32 коммент.
Среди многочисленных меток блога есть у меня одна любимая - продуктивность. Долгое время эта метка редко мною использовалась, но я думаю исправить это положение. Дело в том, что у меня накопилось достаточное количество материалов по GTD, которые хочется привести в порядок. А лучший способ это сделать - выложить это на блог.
Читать далее

Органайзер своими руками - Levenger Circa Notebooks



47 коммент.
В предыдущем посте описывалась реализация системы Getting Things Done от Дэвида нашего Аллена в виде электронных файлов формата LaTeX. Это всё хорошо, но часто компьютера под рукой нет, а органайзер нужен: список дел просмотреть, новую идею записать, проект распланировать лучше. В общем, нужно бумажное отражение электронной системы - вот тут нас спасут ручка, бумага и хитрые дырочки в этой самой бумаге.
Читать далее

Реализация Getting Things Done в Linux с помощью LaTeX



30 коммент.
Рано или поздно многие из нас задумываются о том, что дел становится слишком много, а времени - слишком мало, и как-то из всего этого хочется выбраться с минимальными потерями. Часть задумавшихся садятся за прочтение монументального труда Getting Things Done от David Allen. Немногие дочитавшие книгу до конца идут в интернеты и ищут ту-саму-одну-единственную-программу-которая-делает-всё... и бесплатно... и свободно... и под Linux... и с настройками... Но находят либо веб-поделки, либо программы для маков, либо только под Windows, и без какой-либо подгонки под себя. И подумалось мне: разве не могут ничем ответить хардкорные юникс-гики гламурным макинтоидам?
Читать далее

Midnight Commander: команды и горячие клавиши



40 коммент.
Умывальников начальник и мочалок командир...
Прошли те времена, когда синий цвет на экране ассоциировался не с BSoD, а с Norton Commander. Этот файловый менеджер полюбили многие. Как грибы после дождя, стали появляться клоны. Пользователи Windows получили реинкарнацию проекта в виде FAR Manager. Линуксоиды тоже не спали и вместо надоедливых cp/mv явили миру Midnight Commander.


Программа имеет «интуитивно понятный интерфейс», правда, для эффективного применения mc в боевых условиях понадобится усвоить магические клавиатурные сочетания. Для вышеозначенных целей была скомбинирована шпаргалка в виде PDF-документа. Хочу заметить, шпаргалка никоим образом не отменяет чтения страниц man. Документ распечатывается и крепится на видном месте. Когда потребуется, всегда перед глазами. Сценарий использования абсолютно бесхитростный, но действенный.
Читать далее

Совместная работа над документами LaTeX



28 коммент.
Когда вы сидите и тихо работаете над своей задачей - всё хорошо и здорово. Ровно до тех пор, пока не возникнет необходимость в совместной работе над статьёй, отчётом или другим крупным документом в LaTeX. Особенно этот процесс становится захватывающим при использовании разных кодировок и операционных систем. Но обо всём по порядку.


Совместная работа над документами LaTeX
Для того, чтобы взять под контроль процесс правок при совместной работе, перво-наперво нужно выбрать систему контроля ревизий - пусть это будет Subversion, хотя может быть и Git, и Mercurial, и подставьте_сюда_вашу_любимую_VCS. На мой взгляд, централизованные системы здесь предпочтительнее (всегда знаешь, где последняя ревизия), но это лишь моё личное скромное мнение.

Как бы там ни было, без системы контроля версий обойтись в этом процессе будет невозможно. О том, как быстро и просто установить SVN, уже написано. Использовать Subversion тоже совсем несложно, но, как и ранее, работать можно с любой VCS - я лишь привожу это в качестве примера.

Более того, отследить ревизию документа при обсуждении печатных версий также проще с использованием систем контроля версий: в LaTeX можно вставлять результаты выполнения скриптов. Например, для того, чтобы в печатный вариант документа вставлялась информация о ревизии документа, можно использовать несложный скрипт на Python.



Правки и комментарии в документах LaTeX

Приведу свои результаты проб и ошибок в деле коллективной работы над латеховскими документами. Вот тут, кстати, начинаешь немного тосковать по Word и OpenOffice.Writer, в которых есть встроенные средства для коллективной работы (правки, исправления, пометки, заметки на полях). Некое подобие этого я реализовал в LaTeX и с некоторым успехом применял для правок дипломов у своих студентов.

1. Дробление документов
С одним большим документом работать просто невозможно и жутко неудобно - так что главы дипломов, отчётов и крупных монографий лучше разделить на файлы и вставлять директивой \input. Это облегчит работу и системе контроля версий при обновлении рабочих копий - чтобы правки были неперекрывающиеся.

2. Зачёркивания и пометки цветом
Чтобы иметь возможность зачеркивать слова в LaTeX, включаем в преамбуле документа пакет ulem:
\usepackage{ulem}
И далее в тексте для зачёркивания используем команду \sout{чтобы зачёркивать текст}.
И далее в тексте для зачёркивания используем команду чтобы зачёркивать текст.
Альтернатива пакету ulem - пакет soul, где для зачёркивания используется команда \st{зачеркнуть это}.
Рядом обычно пишется вопрос или предложение фразы для соавтора - это лучше помечать цветом (при этом лучше сразу договориться, какой цвет выберет каждый соавтор, чтобы потом с ума не сойти). Для выделения цветом в LaTeX можно использовать пакет xcolor, который подключаем в преамбуле:
\usepackage{xcolor}
И далее помечаем в тексте слова \textcolor{red}{красным шрифтом}:
И далее помечаем в тексте слова красным шрифтом
Удобно, когда нужно обратить внимание соавтора на выдающийся ляп :-)


3. Заметки на полях и комментарии в LaTeX
Иногда хочется выразить своё мнение или особо обратить внимания соавтора на что-то - в этом случае стоит использовать заметки на полях. Для этого есть стандартная команда
\marginpar{Замечание соавтору сбоку на полях.}
и этот текст появится сбоку на полях, для лучшей видимости.

Но иногда комментарий длинный или хочется втянуть соавтора в письменную дискуссию - тогда нам придёт на помощь небольшой трюк. Можно определить команду комментирования, и тот текст, который будет в комментарии, не будет виден в откомпилированном документе, но в коде присутствовать будет. Для этого в преамбуле определяем новую команду так:
\newcommand{\comment}[1]{}
и в тексте можно дать волю своим полемическим способностям\comment{, потому как этот текст всё равно не будет виден в откомпилированном LaTeX-документе}.
и в тексте можно дать волю своим полемическим способностям.
Эти в общем-то нехитрые приёмы, часть из которых со временем выветривается из моей просторной головы, помогают поддерживать адекватный уровень совместной работы.

Буду рад, если многоуважаемые и ценимые мною товарищи комментаторы насыпят и отгрузят свои приёмы совместной правки LaTeX-документов в открытые на всю ширь комментарии.


Ссылки по теме

http://sovety.blogspot.com/2007/07/latex.html
http://en.wikibooks.org/wiki/LaTeX/Formatting#Emphasizing_Text
http://www.tex.raleigh.ru/doku.php/faq/typesetting
Читать далее

GraphViz: примеры создания графов и взаимосвязей



20 коммент.
Есть много типов данных, которые можно и нужно представить наглядно в виде зависимости одного от другого. Это и генеалогическое дерево, и взаимосвязь проектов друг с другом, и многое другое. Это всё можно вручную отрисовывать в Inkscape, а можно последовать UNIX-way и доверить это GraphViz. Немного своих находок и зарубок на память - пример возможностей GraphViz.


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

Сначала я использовал Kmindmap, но его возможности по построению множественных взаимосвязей на разных уровнях очень ограничены. Inkscape это, конечно, ручная работа, что при числе проектов более трёх десятков совсем не весело. И хотелось бы всё это интегрировать с LaTeX... После недолгих скитаний я понял, что изучение
GraphViz сулит много хорошего и не так сложен в освоении.

GraphViz вообще пригоден для всего, что только имеет смысл представлять в виде графов - любые процессы, сети и взаимосвязи. В сочетании с любым скриптовым языком это прекрасный инструмент для анализа и визуализации практически любой информации.

Граф при визуализации может быть представлен как иерархически (dot), так и по алгоритму минимизации энергии (energy minimized), когда узлы располагаются максимально компактно, насколько это возможно, не нарушая наглядность (neato). В общем, если информацию можно представить в виде направленного или ненаправленного графа, GraphViz с этим легко справится.


Установка и первые шаги с GraphViz
GraphViz есть в каждом уважающем себя дистрибутиве, и ставится пакетной системой на раз:
# aptitude install graphviz
Единственное, что следует отметить, что GraphViz имеет кучу зависимостей, так что его сборку лучше доверить вашим дистростроителям.

Но допустим, что вы его успешно собрали или просто поставили из пакетного менеджера своего дистрибутива - что дальше? А дальше делаем быстрый старт: открываем свой любимый текстовый редактор и вставляем в него например вот это:
digraph G{
Рождение->Юность->Зрелость->Старость->Смерть;
Юность->Смерть;
Зрелость->Смерть;
}
И сохраняем в виде текстового файла, например temp.dot. Далее в консоли пишем
$ dot -Tpng temp.dot -o temp.png
То есть перегоняем наш граф в формат PNG, чтобы можно было просмотреть его, скажем, с помощью gqview или любым другим просмотрщиком изображений. И вот что мы увидим:
Начальную идею это должно передать, а за подробностями милости просим в это совершенно исключительное по художественной силе описание
GraphViz. А я тем временем поделюсь своими заметками.

Небольшой пример
В этом примере я сгруппировал наиболее часто мной используемые находки в GraphViz, такие как уровни в графе, размер текста и форму элементов. Дабы минимизировать проблемы с кириллицей, стоит сохранять данные в кодировке UTF8.

Предварительные обозначения
Сначала эти уровни обозначаем (в данном случае это от 50.000 до 10.000 - читавшие GTD меня поймут, не читавшие могут узнать об этом больше).
{ //Уровни в проектах
node[shape=plaintext]; // чтобы было не видно рамок
edge[color=white]; // чтобы было не видно рамок
50.000->40.000->30.000->20.000->10.000->5.000;
}
Последовательность символов -> означает связь двух объектов, shape - форму объекта (рамка вокруг текста), color - соответственно цвет (здесь белый - чтобы не было видно рамки вокруг текста).

После этого группируем данные и даём понять GraphViz, что группа принадлежит к этому уровню:
{ // <============= Задачи на уровне 10.000 ==============
node[shape=rectangle,fontsize=10]; // порядок важен: описание свойств узлов должно идти раньше, чем сами узлы
rank=same; 10.000; "Диссертация";
"Проект РНП";
"Time-Frequency";
}
Здесь задаём размер текста fontsize поменьше (из эстетических соображений) и говорим GraphViz, что эти куски текста должны быть на высоте 10.000 (определённый уровень).

Теперь выстраиваем взаимосвязи объектов друг с другом:
"Time-Frequency"-> "Научные\nпроекты";
"Диссертация"-> "Научные\nпроекты";
"Проект РНП"-> "Научные\nпроекты";

"Диссертация"->"Time-Frequency"[dir=both]; // зависимость направлена в обе стороны
"Диссертация"->"Проект РНП"[dir=both]; // зависимость направлена в обе стороны
Тут две тонкости:
  1. чтобы текст в рамке разбить на несколько строк, ставим \n
  2. если нужно, чтобы стрелка была направлена в обе стороны - взаимная зависимость двух объектов - нужно рядом с зависимостью приписать [dir=both];
После этого можно собирать проект и перегонять его в любой удобный формат: PNG удобнее всего смотреть в просмотрщике, пока выстраивается структура, а потом перегнать это всё в SVG для печати или встраивания куда-нибудь.


А теперь всё вместе
Как только выставленные связи вас устроили и вы хотите посмотреть, что получилось - собираем проект и припадаем к просмотрщику, любуясь результатами своей деятельности. Вот полный код примера:

digraph WorkAnalysis{
rankdir=TB; //как делается граф - сверху вниз.

{ //Уровни в проектах
node[shape=plaintext]; // чтобы было не видно рамок
edge[color=white]; // чтобы было не видно рамок

50.000->40.000->30.000->20.000->10.000;
}

{ // <============= Задачи на уровне 40.000 ============== node[shape=pentagon,fontsize=30]; rank=same; 40.000; "Исследования\nсигналов"; } { // <============= Задачи на уровне 20.000: Сфера ответственности node[shape=egg,fontsize=20]; rank=same; 20.000; "Научные\nпроекты"; } { // <============= Задачи на уровне 10.000 ============== node[shape=rectangle,fontsize=10]; rank=same; 10.000; "Диссертация"; "Проект РНП"; "Time-Frequency"; } "Time-Frequency"-> "Научные\nпроекты";

"Диссертация"-> "Научные\nпроекты";

"Проект РНП"-> "Научные\nпроекты";

"Диссертация"->"Time-Frequency"[dir=both]; // зависимость направлена в обе стороны

"Диссертация"->"Проект РНП"[dir=both]; // зависимость направлена в обе стороны
}
Вставляем его в файл a.dot и набираем:
dot -Tpng a.dot -o a.png
Видим что-то вроде этого:

Собственно, этот пример я состряпал на основе своего графа проектов, и этот код - только часть. Приведённый пример должен проиллюстрировать основные моменты работы с
GraphViz, которые я часто забываю :-)
Читать далее

Sleeptracker - наручные часы с гуманным будильником



34 коммент.
Эта заметка относится не к Дебиану, а больше к автору этих строк. Есть некоторые вещи, которые могут весьма и весьма сильно увеличить производительность труда - например, нормальная операционная система или наушники с шумоподавлением. Но всё это не радует, если проснулся не вовремя и не отдохнув - вот тут-то пригодятся часы с гуманным будильником.


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

В среднем человеку нужно 7-8 часов сна для нормальной жизнедеятельности. Сон делится на циклы, которые условно можно поделить на 5 фаз. Каждый цикл длится 90-110 минут, и в это время есть фазы глубокого сна (когда будить нежелательно) и фаза быстрого сна (когда мы видим сны). На приведённой ниже диаграмме это проиллюстрировано:



диаграмма взята из официального руководства к часам SLEEPTRACKER PRO.

Как видно из диаграммы, есть несколько промежутков времени, в которые мы почти просыпаемся - здесь-то и нужно будильнику включать свою сирену. При этом вы проснётесь бодрыми и энергичными.
Важный момент: эти промежутки времени довольно короткие. Поэтому лучше разбудить человека на 20 минут раньше, но бодрым, чем точно вовремя, но сонным и вялым. Если такие промежутки времени не попадают в "окно пробуждения" будильника, он всё равно прозвенит в поставленное время.


Как устроено?
Естественный интерес - как это работает? - был в отчасти утолён официальным мануалом, который никто не скрывает:
Using an accelerometer, SLEEPTRACKER monitors for brief moments of movement (typically lasting less than 30 seconds) during your lighter stages of sleep and records them.
Итак, что имеем. В часы встроен акселерометр, который мониторит подвижность руки во сне и свзяывает это с фазой сна. То есть акселерометр позволяет отлавливать резкие движения часов во сне тогда, когда время подходит к пробуждению ("фаза быстрого сна"). В общем, разумное и простое решение.

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


Внешний вид и исполнение
Часть сделана из металла, поэтому на вид они весьма внушительных размеров. На руке сидят нормально и не оттягивают её. Ремень резиновый, с внутренней стороны оранжевый, с внешней - тёмно-серый.



Кнопок на часах четыре, из металла, надписи на них вытравлены. Обещанная водонепроницаемость имеет место быть, испытание под душем походят успешно.

В остальном, кроме гуманного будильника, вполне себе обычные электронные часы. Подсветка равномерная, цвета морской волны - те, кто знают, что такое Palm m105, сразу предадутся ностальгии. В общем, выполнено хорошо, нареканий нет.

На вид - вполне обычные, нормальные электронные часы, и только надпись SLEEPTRACKER выдаёт посвящённым настоящий смысл часов. Питаются часы литиевой батарейкой CR 2032 (3 В, "монета"), которой должно хватить на год работы. Только если надумаете покупать, лучше всё-таки выбирать PRO-версию - более приличный дизайн и наличие вибровызова. Вибробудильник вы почувствуете гораздо лучше, чем не очень сильный звуковой сигнал, и проснётесь от этого сразу же.


Эксперимент
В отличие от многих скептиков, я до покупки читал мануал и многое из него показалось мне интересным. В том, что устройство работать будет - сомнений не было. Было интересно, как оно будет работать. Статистику набирал неделю, условия такие: отбой в 23:00, подъём в 07:30, окно будильника 40 минут, оповещение - звук и вибрация.

День 1.
Часы спать не мешают, отбой в 22:40. Встал в 06:45 сам, до будильника (организм испугался?). Настроение - свернуть к обеду несколько гор и завоевать Вселенную к ужину. Часы стали будить сигналом и вибрацией в 7:00, сменяя негромкий сигнал и вибрацию каждые 2-3 секунды. До обеда сделал больше, чем за целый день. Впечатлило.


День 2.
Отбой в 23:05, разбудил виброзвонок в 06:58, вибровызов чувствуется хорошо, а сигнала не слышал. Бодренькое утро, неспеша позавтракал и сел за разборки с делами. К 9 утра, когда обычно встаю по будильнику, почти половину сделал. Блеск.


День 3.
Отбой в 23:20, поъём в 06:37 - раньше будильника, настроение бодрое и оптимистичное. Оказывается, что никакая я не "сова" и утром работать могу очень продуктивно. Просто вставал раньше не в то время, и поэтому раньше 12 что-то разумное делать не мог.


День 4.
Отбой в 00:40, зачитался книжкой и не заметил, сумерки сгустились. Вставать утром в 7 не хотелось категорически, но всё-таки под напором будильника в 07:30 проснулся. поэтому отложил разбудил виброзвонок в 06:58, вибровызов чувствуется хорошо, а сигнала не слышал. Бодренькое утро, неспеша позавтракал и сел за разборки с делами. К 9 утра, когда обычно встаю по будильнику, почти половину сделал.


День 5.
Отбой в 23:40, разбужен первыми лучами солнца позывами вибры в 06:55, с настроением свернуть парочку гор. Интересно: вибровызов вроде и не сильный, а чувствуется хорошо и будит безотказно.


День 6.
Отбой в 23:05, разбудил виброзвонок в 06:58, вибровызов чувствуется хорошо, а сигнала не слышал. Бодренькое утро, неспеша позавтракал и сел за разборки с делами. К 9 утра, когда обычно встаю по будильнику, почти половину сделал.


День 7.
Отбой в 23:20, проснулся сам в 06:50 - только стал руками шевелить так сразу и будильник зазвенел. В общем, уже начинаю привыкать вставать рано и брать быка за рога :-)

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

Спустя почти два месяца после этого теста продолжаю использовать эти часы и просыпаться бодрым. Что не замедлило сказаться на производительности труда :-)


Заключение
Как говорится в официальном мануале к Sleeptracker, все мы разные и спим по-разному. Это значит, что если эти часы подошли мне - не значит, что подойдут вам. Отзывов в Интернете на СлипТрекер очень много: тут, там и здесь. Примерно такие же отзывы о AXBO, так как их принципы работы одинаковы, отличается только форм-фактор. Но всегда можно попробовать - эксперимент обойдётся в примерно 4500 руб. В общем, не такие огромные деньги за то, чтобы просыпаться бодрым и позитивным.
Читать далее