продуктивность
28 коммент.
В этом блоге публикуются заметки и решения, найденные в процессе работы, освоения и жизни в дистрибутиве Debian GNU/Linux.
cp/mv явили миру Midnight Commander. mc в боевых условиях понадобится усвоить магические клавиатурные сочетания. Для вышеозначенных целей была скомбинирована шпаргалка в виде PDF-документа. Хочу заметить, шпаргалка никоим образом не отменяет чтения страниц man. Документ распечатывается и крепится на видном месте. Когда потребуется, всегда перед глазами. Сценарий использования абсолютно бесхитростный, но действенный.
\usepackage{ulem}И далее в тексте для зачёркивания используем команду \sout{чтобы зачёркивать текст}.
И далее в тексте для зачёркивания используем командуАльтернатива пакету ulem - пакет soul, где для зачёркивания используется команда \st{зачеркнуть это}.чтобы зачёркивать текст.
\usepackage{xcolor}И далее помечаем в тексте слова \textcolor{red}{красным шрифтом}:
И далее помечаем в тексте слова красным шрифтомУдобно, когда нужно обратить внимание соавтора на выдающийся ляп :-)
\marginpar{Замечание соавтору сбоку на полях.}и этот текст появится сбоку на полях, для лучшей видимости.
\newcommand{\comment}[1]{}и в тексте можно дать волю своим полемическим способностям\comment{, потому как этот текст всё равно не будет виден в откомпилированном LaTeX-документе}.
и в тексте можно дать волю своим полемическим способностям.Эти в общем-то нехитрые приёмы, часть из которых со временем выветривается из моей просторной головы, помогают поддерживать адекватный уровень совместной работы.
Граф при визуализации может быть представлен как иерархически (dot), так и по алгоритму минимизации энергии (energy minimized), когда узлы располагаются максимально компактно, насколько это возможно, не нарушая наглядность (neato). В общем, если информацию можно представить в виде направленного или ненаправленного графа, GraphViz с этим легко справится.
# aptitude install graphvizЕдинственное, что следует отметить, что GraphViz имеет кучу зависимостей, так что его сборку лучше доверить вашим дистростроителям.
digraph G{
Рождение->Юность->Зрелость->Старость->Смерть;
Юность->Смерть;
Зрелость->Смерть;
}
И сохраняем в виде текстового файла, например temp.dot. Далее в консоли пишем$ dot -Tpng temp.dot -o temp.pngТо есть перегоняем наш граф в формат PNG, чтобы можно было просмотреть его, скажем, с помощью gqview или любым другим просмотрщиком изображений. И вот что мы увидим:
Начальную идею это должно передать, а за подробностями милости просим в это совершенно исключительное по художественной силе описание GraphViz. А я тем временем поделюсь своими заметками.{ //Уровни в проектахПоследовательность символов -> означает связь двух объектов, shape - форму объекта (рамка вокруг текста), color - соответственно цвет (здесь белый - чтобы не было видно рамки вокруг текста).
node[shape=plaintext]; // чтобы было не видно рамок
edge[color=white]; // чтобы было не видно рамок
50.000->40.000->30.000->20.000->10.000->5.000;
}
{ // <============= Задачи на уровне 10.000 ==============Здесь задаём размер текста fontsize поменьше (из эстетических соображений) и говорим GraphViz, что эти куски текста должны быть на высоте 10.000 (определённый уровень).
node[shape=rectangle,fontsize=10]; // порядок важен: описание свойств узлов должно идти раньше, чем сами узлы
rank=same; 10.000; "Диссертация";
"Проект РНП";
"Time-Frequency";
}
"Time-Frequency"-> "Научные\nпроекты";Тут две тонкости:
"Диссертация"-> "Научные\nпроекты";
"Проект РНП"-> "Научные\nпроекты";
"Диссертация"->"Time-Frequency"[dir=both]; // зависимость направлена в обе стороны
"Диссертация"->"Проект РНП"[dir=both]; // зависимость направлена в обе стороны
digraph WorkAnalysis{Вставляем его в файл a.dot и набираем:
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]; // зависимость направлена в обе стороны
}
dot -Tpng a.dot -o a.pngВидим что-то вроде этого:

Важный момент: эти промежутки времени довольно короткие. Поэтому лучше разбудить человека на 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.Итак, что имеем. В часы встроен акселерометр, который мониторит подвижность руки во сне и свзяывает это с фазой сна. То есть акселерометр позволяет отлавливать резкие движения часов во сне тогда, когда время подходит к пробуждению ("фаза быстрого сна"). В общем, разумное и простое решение.
Материалы сайта «Записки дебианщика» написаны virens’ом и доступны на условиях лицензии Creative Commons Attribution-Non-Commercial-Share Alike 3.0 Unported License. Вы можете копировать, распространять, показывать эту работу, и создавать производные работы в некоммерческих целях на условиях:
1) обязательной ссылки на автора (virens, http://mydebianblog.blogspot.com/);
2) распространении любых производных работ на условиях этой же лицензии (ссылка на эту лицензию обязательна!).
Пожалуйста соблюдайте условия лицензии Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License. Авторские права - Михаил Конник aka virens.