понедельник, 3 ноября 2008 г.

Couchdb — первые шаги

Последний год то тут, то там появляются посты/новости о couchdb — одной из многих реализаций нереляционных, или документо-ориентированных СУБД. Основной идеей, и главным отличием от традиционных, реляционных, систем является отсутствие строго определённой структуры данных, хранимых в базе. В этом посте попробую рассмотреть идею нереляционных БД в общем, и пример использования couchdb совместно с питоном для хранения некоторых данных.

воскресенье, 4 мая 2008 г.

Первые впечатления о E-ten Glofiish X800


Пока я нахожусь в ожидании usb-кабеля для своего ipaq-a (для продолжения исследования Angstrom linux), решил обновить себе моб. телефон. Так как это происходит довольно редко, решил сразу брать железку, которой бы хватило на ближайшие несколько лет, потому выбор пал на сабжевый коммуникатор, обладающий всеми распространёнными функциями, которые сегодня можно найти в гаджетах такого плана: кроме, уже банальных, bluetooth, wifi, разработчики также одарили его gps-приёмником, gsm-модулем третьего поколения (тот самый распиаренный 3G) и другими вкусностями, вроде камеры, 640х480 экрана и пр. Далее — о первых шагах работы с новой машинкой + скриншот + пару фото.

воскресенье, 13 апреля 2008 г.

Angstrom Linux + iPAQ h5450

Очередная попытка подружить мой кпк HP iPAQ 5450 с ОС Linux. Последняя попытка установки дстрибутива Familiar Linux хоть и увенчалась успехом, была отменена в виду его сырости по отношению к моей железке. На сей раз, встретив в сети The Ångström дистр решил попробовать взгромоздить его.

суббота, 19 января 2008 г.

Мой Vim

Не так давно решил прислушаться к мнeнию и опыту многих разработчиков, использующих в своей работе, а так же повседневной жизни текстовый редактор Vim. В этом посте хотел бы рассказать, что я сделал со своим редактором, для поднятия удобства и комфортности до уровня полноценного( ? ) IDE. Итак, что на данный момент умеет мой редактор:
  • Подсветка синтаксиса
  • Удобная цветовая схема
  • Сворачивание кода
  • Авто-дополнение кода
  • Организация файлов в проекты
  • Отображение структуры кода
  • Проверка python-кода средствами pylint и pychecker
Многое из перечисленного входит в стандартную поставку, нужно только правильно его завести. Об этом, и том, что доставлял сам — в продолжении

суббота, 12 января 2008 г.

Полуавтоматическая обработка каптчи


Время от времени нам приходится автоматизировать разные действия - от рутинных, до довольно мудрённых. Нормально, что в этом нам помогают наши навыки разработки ПО, программирования. В идеале, конечно, к ним ещё приложить математический поход, и тогда такой продукт становится на порядок ценнее.
В этом посте хотел поделится своим решением, для упрощения жизни рядовым автоматизаторам :) Следующий скрипт представляет из себя небольшой модуль, который поможет делегировать пользователю обработку каптчи, тем самым позволив вашим скриптам взять на себя окружающую эту самую каптчу рутину. Интерфейс максимально упрощён - с внутренней стороны представлен функцией с говорящим названием do_stuff(file), принимающей в качестве параметра имя файла или file-like object (например StringIO(image_buffer) ) , в общем то, что поймёт Image.open(). С внешней стороны - пользовательский интерфейс представлен простейшим Tk окошком с вашей картинкой, полем ввода и счётчиком ожидающих в очереди картинок. Так же имеется в окошке многофункциональный переключатель :) В моём случае, многопоточной обработки, он был использован для передачи сигнала об остановке потоку. Да, модуль будет рад обслужить сразу множество ваших потоков.


Например, для следующей картинки:




имеем такой результат:



$ python captcha_dialog.py  
('dvcv', 0)
собственно код - inside

Hello World!

Как повелось, запуск блога сопровождается первым, наверное самым бессмысленным постом. Назван в лучших традициях программирования. В общем, велкам!
P.S.Поздравляю talmuth с наступившим днём рожденья!