ICFPC-09 отчёт
Я давно ничего не писал в блог, но сейчас появился отличный повод! Речь идёт о недавно завершившемся мероприятии под названием ICFPC (ICFP contest, или соревнование приуроченное ко всемирной конференции ICFP).
continue readingЯ давно ничего не писал в блог, но сейчас появился отличный повод! Речь идёт о недавно завершившемся мероприятии под названием ICFPC (ICFP contest, или соревнование приуроченное ко всемирной конференции ICFP).
continue readingДокладывал сегодня на XI Международной научно-технической конференции САИТ-2009 по сабжевой теме. Понравилось. Впервые. Такое себе экстрим-развлечение :)
Слайды от доклада остались тут (можно смотреть), или тут архивом (можно качать).
Последний год то тут, то там появляются посты/новости о couchdb — одной из многих реализаций нереляционных, или документо-ориентированных СУБД. Основной идеей, и главным отличием от традиционных, реляционных, систем является отсутствие строго определённой структуры данных, хранимых в базе. В этом посте попробую рассмотреть идею нереляционных БД в общем, и пример использования couchdb совместно с питоном для хранения некоторых данных.
continue readingУ всех пользователей vim, пишущих python-код в этом редакторе, рано или поздно возникает потребность в функциональности, знакомой по “большим” IDE. Многие в поиске решений останавливаются на встроенных возможностях вроде дополнения ключевых слов, встретившихся в открытом файле, встроенный go-to-defintion и другие, применение которых ограничивается их универсальностью. В этом посте рассмотрим инструмент, заточенный под работу с python-кодом, предназначенный для рефакторинга кода, и, одновременно, предоставляющий возможности более “умного” автодополнения, перехода в определению идентификатора и др.
Далее идёт собственная интерпретация довольно лаконичной документации, выполненная в виде небольшого howto.
continue readingКак говорится в одной древней мудрости: можно вечно наблюдать три вещи: как горит огонь, как течёт вода и как рисует графики rrdtool. Этот пост как раз о последнем. И так, что же такое rrdtool? rddtool — замечательная утилита, которая позволяет управлять данными, хранимыми в формать rrd (round-robin database). Данный формат примечателен тем, что изначально предназначен для хранения периодичной информации, причём так, что размер самой БД получается фиксированным (довольно небольшим) независимо от количества данных. При этом сохраняется возможность получать отчёты за продолжительные отрезки времени с произвольной точностью. Наибольшее распространение данная система нашла в системах мониторинга, где, как говорится, лучше один раз увидеть картинку, чем 7 раз прочитать логи. В конце статьи Вы сможете получить нечто, похожее на
continue readingКогда-то, в начале своего изучения языка Python, для большей наглядности пытался реалиpовать полученные навыки, портируя простейшего irc-бота с php. Со временем код развивался и вырос в так же небольшого, но уже мультипротокольного бота, с системой плагинов, которого тут и представляю. Основными идеями являются: простота использования/расширения, мультипротокольность, абстракция плагинов: пиши однажды, используй везде. На данный момент успешно работает в IRC, XMPP (Jabber) сетях, доступно пару десятков функциональных плагинов, благодаря которым можно внести в работу всю мощь и гибкость языка Python, на котором и написано ядро приложения. На этом первое знакомство завершу, остаётся линк на страничку: xapy + hg репозиторий
Пока я нахожусь в ожидании usb-кабеля для своего ipaq-a (для продолжения исследования Angstrom linux), решил обновить себе моб. телефон. Так как это происходит довольно редко, решил сразу брать железку, которой бы хватило на ближайшие несколько лет, потому выбор пал на сабжевый коммуникатор, обладающий всеми распространёнными функциями, которые сегодня можно найти в гаджетах такого плана: кроме, уже банальных, bluetooth, wifi, разработчики также одарили его gps-приёмником, gsm-модулем третьего поколения (тот самый распиаренный 3G) и другими вкусностями, вроде камеры, 640х480 экрана и пр. Далее — о первых шагах работы с новой машинкой + скриншот + пару фото.
continue readingОчередная попытка подружить мой кпк HP iPAQ 5450 с ОС Linux. Последняя попытка установки дстрибутива Familiar Linux хоть и увенчалась успехом, была отменена в виду его сырости по отношению к моей железке. На сей раз, встретив в сети The Ångström дистр решил попробовать взгромоздить его.
continue readingКороткая заметка о запуске Matlab в xmonad wm. Проблема, с которой я столкнулся чётко описана в xmonad FAQ. В кратце, заключается в невозможности отображения граф. интерфейса приложений на Java в xmonad. Много решений предлагается в инете, но мне помогло следующее — использование jre1.7. Скачал его с java.net, собрал в /tmp/jdk1.7. Самая хитрая часть — запуск Matlab после этого. Короче, export MATLAB_JAVA=/tmp/jdk1.7.0/jre && matlab. Надеюсь это кому-то будет полезно и поможет сэкономить время.
Компьютеры, со временем нахождения дома, имеют отвратительное свойство размножаться. Не успел оглянуться, как в квартире стало 2 десктопа + ноут, что неизбежно потянуло за собой организацию доманей сети. Сеть со временем эволюционировала и сегодня основным звеном является заделанная гейтвеем-файрволом машинка с gentoo linux на борту. Дабы не пропадало наличие внешнего ip-адреса, этот же комп, с другой стороны — небольшой домашний сервак. Перечислить все функции, выполняемые этим сервером довольно не просто, но основные — это веб-сервер, почтовик, ssh, хранилище личных репозиториев, сетевой гейтвей-файрвол, безпроводная точка доступа и ещё пару :) При настройке сервера, далеко не последним критерием был уровень безопасности, т.к. опыт показывает, что не смотря на хвалённую защищённость unix-подобных систем, небрежный пользователь может продать всю систему сам того не зная. Один из ключевых барьеров в системе безопасности — файрвол, о настройке которого дальше идёт речь.
Дальше будут подробности настройки iptables, которые в результате позволят нам: