Моя фотография
Павел Вязовой
Студент факультета информатики Магнитогорского Государственного Университета, линуксоид, емаксер, web-разработчик. Больше информации можно найти на моём сайте. Есть две тематические ленты: runix и emacs.
Просмотреть весь профиль

воскресенье, 22 февраля 2009 г.

Неделя восьмая

Статью о прошедшем мастер-классе опубликовали в месной газете "Диалог". И эта статья была предметом моей гордости всю эту неделю. Дело в том, что на фото к статье - я :D

Сама статья по содержанию отличается от той, что была опубликована на сайте нашего факультета. О содержании статьи хорошо может сказать заголовок: "Как сэкономить на программном обеспечении".

Пользуясь случаем, хочу поздравить всех защитников с днем защитника отечества. Лично я завтра поеду на озеро Банное, отдохну недолго.

Наметился огромный план на лето. Я сказал, что хотел бы отдохнуть в "Антее", это спортивный лагерь для преподавателей и студентов. И наш тренер сказал, что сможет отправить туда и меня. Это было бы замечательно, я уже давно не отдыхал от городcкой суеты. До лета ещё далеко, но надеюсь что ничего не изменится.

суббота, 21 февраля 2009 г.

zsh autojump

Заголовок поста не информативен, но долго думать над ним желания небыло. Вообщем увидел на форуме арча скрипт autojump для быстрого перехода в часто-используемые каталоги. Он работал только в bash, а я пользуюсь zsh. Поправить очень просто. Описывать что да как совсем влом, поэтому прикладываю скрипт autojump, а следующее надо прописать в zshrc:



if [ -n "$PS1" ]; then
function _autojump_completer
{
read -Ac line
reply=($(autojump --completion $line[2]))
}
compctl -K _autojump_completer j
function precmd { autojump -a "$(pwd -P)" }
alias jumpstat="autojump --stat"
function j { new_path="$(autojump $@)";if [ -n "$new_path" ]; then echo -e "\\033[31m${new_path}\\033[0m"; echo; cd "$new_path";fi }
fi

Я не осилил новую систему комплита в zsh (man zshcompsys) и попробовал воспользоваться compctl. Авто-комплит получился кривенький, если кто-то поделится со мной нормальным вариантом - буду благодарен. Самому этот скрипт не очень и нужен, просто захотелось протестировать а в zsh не заработало... вот и завелся.

воскресенье, 15 февраля 2009 г.

Неделя седьмая

Запланированный мастер-класс проведен, теперь можно вздохнуть спокойно. Хотя... не получится. Решил я взяться за активное изучение схемы и к середине марта подготовить доклад и презентацию по лиспу.

Мастер-класс по свободному программному обеспечению в МаГУ

Вчера, 14 февраля 2009-го года, был юбилей Магнитогорской группы пользователей Linux, в связи с чем был проведен мастер-класс по СПО в Магнитогорском государственном университете. Факультет информатики выступил в качестве организатора мероприятия, за что отдельное спасибо Ирине Викторовне Поповой.
Перечень докладов и список докладчиков можно посмотреть на сайте факультета.
Судя по отзывам, гостям понравилось, значит следующему мастер-классу быть! Возможно уже в марте.
Фотографии можно посмотреть здесь (автор фото Ирина Викторовна Попова).

Кстати, мне пришлось проводить интерактивную презентацию на ноутбуке Портнова Ильи. Дело в том, что на моём ноутбуке установлена видеокарта nvidia, а у него - intel. Ни модуль nv, ни модуль nvidia не работают с vga видео-выходом без предварительной конфигурации, а мне необходимо было запустить на проекторе процесс загрузки Ubuntu live cd с самого начала. Идея была использовать Virtualbox в моём Archlinux с заранее настроенным модулем nvidia, но и она провалилась - на гостевой системе требуется установка Guest Additions для того, чтобы включить полноэкранное изображение гостевой ОС.
Больше существенных косяков не припоминаю, хотя... у Портнова в кде4 окно скайлаба один раз почернело, думаю это "заслуга" композитного менеджера окон.
UPD: более подробный отчет от Ильи Портнова здесь.

понедельник, 9 февраля 2009 г.

Неделя шестая

Мне понравилось как Sacha Chua пишет недельные отчеты, которые помогают делать некоторый анализ своей продуктивности и своего времени. Попробую и я отчитываться.
На этой неделе большая часть моего времени ушла на занятия в спорткомплексе (в каникулы они были ежедневными) и работу с новым проектом на CakePHP (в первый раз пользуюсь этим фреймворком и впечатления положительные в сравнении с ZendFramework).
Также на этой неделе мы пытались провести репетицию грядущего мастер-класса, которая от части провалилась, т.к. возникли проблемы с подключением проектора к моему ноутбуку с видео-картой Nvidia. Я должен устранить их до конца этой недели. "Из коробки" проектор не работает, нужна подготовленная заранее конфигурация xorg, поэтому я попробую настроить проектор в хост-системе а установку Ubuntu проводить в virtualbox.
Сегодня последний день каникул, завтра начинается учеба.

Теперь о планах на следующую неделю:
1) Учеба и занятия теннисом. Закрыть сессию.
2) Проверить virtualbox для демонстрации установки и работы Ubuntu.
3) OpenSource мастер-класс в МаГУ 14-го февраля.
4) Перейти к заключительному этапу в рабочем проекте.
5) Уделить наконец таки время скопившимся в orgmode файле т.н. "необязательным задачам", большая часть которых - немного кода для конфигурации emacs и пересмотр календаря и задач.
6) Поиграть в бадминтон с Мариной :)
7) Если вдруг останется время: попробовать anything.el, elscreen и другие elisp-приложения, которые могут быть мне полезны. Реализовать паузы в emacs-wget.

суббота, 7 февраля 2009 г.

Не-интерактивный jabber-read-account

Я часто пользуюсь некоторыми jabber-ботами в emacs-jabber и мне захотелось забиндить хоткеи для быстрого вызова чата с ними.
Для этого служит функция jabber-chat-with, которая в качестве аргумента принимает jc и jid.
С jid все понятно - это string аргумент с jid получателя, а вот с jc ситуация сложнее. jc это список jabber-connections, каждый элемент коготорого в свою очередь список из параметров jabber-соединения. Все усложняется тем, что этот список каждый раз меняется, он зависит от порядка, в котором соединились ваши аккаунты.
Для получения этого jc из jabber-connections используется функция jabber-read-account. Если у вас больше одного аккаунта, то эта функция может взять jabber connection из положения курсора в ростере, активного буффера или интерактивно спрашивает jid. Работать не-интерактивно, принимая в качестве аргумента ваш jid, она не умеет.

Для биндинга клавиш понадобился не-интерактивный вариант, который принимает в качестве аргумента jid и возвращает jc, вот он:

(defun my-jabber-read-account (my-jid)
(let ((my-jid-list
(mapcar (lambda (c)
(cons
(jabber-connection-bare-jid c)
c))
jabber-connections)))
(cdr (assoc my-jid my-jid-list))))


Использовать например так:
 ; Открыть буффер чата с juick@juick.com через аккаунт vyazovoi@jabber.ru
(global-set-key "\C-x\C-jj" '(lambda ()
(interactive)
(jabber-chat-with (my-jabber-read-account "vyazovoi@jabber.ru") "juick@juick.com")))


UPD: в cvs-версию emacs-jabber добавили функцию jabber-find-account
Blog Widget by LinkWithin