Конфигурация и скриншот моего conky
Захотелось выложить скриншот десктопа и conky. На лоре все равно обосрут, тем более почти дефолтный кристал с дефолтным рецептом, лучше в блог.
Итак, на снимке fvwm-crystal, gdeskcal и conky:
Конфиг коньков: Read more
[02:10] |
Link |
Comments {4}
Org-mode agenda на вашем столе.
Org-mode это пакет для Emacs с очень мощным аутлайнером, календарем, таск-листом и прочими фичами. Вести в нем расписание и таск-лист очень удобно. И очень удобной может быть возможность видеть своё расписание на рабочем столе.
Для этого предлагаю установить календарик на рабочий стол gdeskcal. К сожалению его сайт давно умер и не оживает, но он есть во многих дистрибутивах. Возможно, он выругается при запуске. Если внимательно изучить ошибки, то он ругается на юникодные символы в файле /usr/lib/gdeskcal/code/values.py. Открываем его и удаляем два не-латинских символа в списке благодарностей. Возможно, вам это не понадобится.
Календарик висит на рабочем столе и может вести список дел в своем дата-файле. Но более интересна возможность отображать ивенты из любых ics-файлов. По умолчанию подключен файл Evolution. Нужно добавить ещё и файл org-mode.
При редактировании org-файла в Emacs хоткей C-c C-e i сохранит текущий файл в ics-формате. В той же директории что и оригинальный файл, только с расширением ics. Подключаем этот файл в gdeskcal и настраиваем автоматический экспорт в ics при сохранении org-файла. Для Emacs это пустяковая задача, например так:
(add-hook 'after-save-hook 'my-export-to-ics)
(defun my-export-to-ics () "Export org-file to icalendar"
(interactive)
(if
(string-match "org/gtd.org" (buffer-file-name))
(org-export-icalendar-this-file)))
P.S. Изменения в ics-файле gdeskcal отслеживает в реальном времени. Вообщем маст-хэв получилось.
Видеть ивенты на любой день можно наводя мышкой на число в календарике. Выглядит он вот так:
Read more
[16:06] |
Link |
Comments {9}
Готовое решение: обновляем свой сайт через систему контроля версий файлов mercurial.
Посты и комментарии к этому блогу хранятся в plain-text файлах, поэтому удобнее всего редактировать их в любимом текстовом редакторе. Сейчас я по шагам напишу как я обновляю этот блог с помощью vcs mercurial.
Вообщем процесс выглядит так: я редактирую какие-либо файлы или добавляю новые, затем выполняю одну комманду в терминале/файл-менеджере и изменения применяются к блогу. При этом сохраняется полная история коммитов (применения изменений) и другой коммандой можно отменить последнюю правку или вернуться к определенному состоянию. Под коммитом подразумевается запуск комманды hg commit, которая записывает все произведенные изменения после предыдущего коммита. Впрочем, я не буду впаривать вам теорию и терминологию, я просто покажу пример применения системы контроля версий по шагам и, возможно, вы сами захотите изучить её.
Внимание: для использования mercurial на удаленном сервере вам будет нужен ssh-доступ и установленный mercurial на локальной и удаленной машине. Никакой его настройки не потребуется.
Шаг первый - создаем репозиторий
Первое, что вам нужно сделать - инициализировать новый репозиторий и склонировать его на удаленный сервер. Останавливаться на этом не будем, просто введите следующие комманды в каталоге, который должен управляться системой контроля версий:
hg init # создаем репозиторий
hg clone . ssh://пользователь@сервер.org/public_html/data/ # делаем копию в директории на сервере
Шаг второй
Далее алгоритм работы такой - добавляем файлы под контроль, вносим изменения, применяем их, отправляем данные на удаленный сервер. Но задача обновления блога на самом деле простая и мы объединим все эти действия в запуск одной комманды.
У меня несколько репозиториев под системой контроля версий, поэтому, чтобы каждый раз не вводить имя сервера, я создаю в корне каждого репозитория файл server.sh с правами на выполнение и со следующим содержимым:
echo "ssh://пользователь@сервер.org/public_html/data/"
Далее создаем файл, ну например blog-update.sh и пишем в него следующее:
#!/bin/sh
hg add # добавляем все файлы рекурсивно от текущей директории
hg commit -m "Quick blog update" # применяем все сделанные изменения с комментарием "Quick blog update"
hg push `./server.sh` # отправляем изменения по назначению
Шаг третий и последний
После того, как ваши изменения были отправлены на удаленный сервер измененные файлы не появятся сразу в рабочей директории. Для этого на удаленном сервере нужно ввести комманду hg update. Чтобы избавить себя от таких неудобств мы заставим mercurial выполнять комманду hg update автоматически сразу после того, как были получены новые изменения. Делается это через встроенную систему хуков. Вам нужно открыть файл .hg/hgrc и внести в него следующие строки:
[hooks]
changegroup = hg update >&2
Заключение
Вызов комманды blog-update.sh для удобства вы можете поместить, ну например в меню файлового менеджера. Теперь вы можете редактировать ваши файлы, а потом просто вызывать blog-update.sh. Система контроля версий позволит вам откатить изменения до любого коммита, ну об этом подробнее вы прочитаете в документации. В этом примере mercurial используется как простое средство однонаправленной синхронизации, надеюсь меня не забросают помидорами за это, ведь это действительно удобно.
P.S. Надеюсь у вас на ssh-сервере настроена авторизация по ключам. Иначе вам прийдется каждый раз вводить пароль.
P.P.S. Если вам нужно исключить воздействие комманды hg add на некоторые файлы или каталоги, то вы можете ввести их маски в файл .hgignore, который должен находиться в корневом каталоге вашего репозитория.
[08:17] |
Link |
Comments {4}
Мини-рецензия на "Тайм-менеджмент для системных администраторов".
«Time Management for System Administrators by Thomas A. Limoncelli. Copyright 2006 O'Reilly Media, Inc., 0-596-00783-3»
Я долго думал, что мозг - самая важная часть моего организма.
Потом я понял, кто внушает мне эту мысль.
— Эмо Филипс (Emo Philips)
Цитата из этой книги к мысли о том, что наш мозг не в состоянии хранить все дела и необходим внешний носитель в виде органайзера.
Один из первостепенных законов тайм-менеджера, но цитата понравилась.
Прочитал эту книгу вчера. В процессе чтения делал заметки и ссылки, чтобы не забыть некоторые интересные (для меня) моменты. Так что это не рецензия, а ряд неупорядоченных комментариев.
Read more
[06:45] |
Link |
Comments {2}
Разделяем чаты и сообщения в Pidgin.
Меня вполне устраивает Pidgin и помимо Instant Messaging-сервисов я использую его для IRC-чатов и Jabber-комнат. Если вы хотите отделить вкладки с чатами, от вкладок с обычной перепиской - в комплекте с pidgin есть расширение "Экстра расположение".
После включения этого расширения и его настройки в настройках самого pidgin появится новый вариант группирования вкладок.
Как оказалось не все это знают, и я не сразу заметил.
[20:02] |
Link |
Comments {5}
Каталог шелл-скриптов
Наткнулся на небольшой каталог шелл-скриптов, разбитый по категориям.
А вот каталог скриптов для Nautilus.
P.S. В одном из предыдущих постов развернулся диалог о тегировании любых объектов файловой системы, читать тут.
[18:04] |
Link |
Comments {7}