Авторизация на Drupal-сайте с помощью аккаунта ВКонтакте

Разработчики ВКонтакте.ру не так давно открыли доступ к OpenAPI — интерфейсу, позволяющему обычным пользователям авторизоваться на сторонних сайтах с использованием своих учетных записей ВКонтакте.ру.

Я выкладываю первую версию модуля vk_openapi, который интегрирует Drupal 6 с Open API. Демонстрацию работы модуля вы можете увидеть на этом сайте. Кнопка для авторизации с помощью учетной записи вКонтакте находится в форме авторизации (в правой колонке внизу) и на странице с формой входа.

Особенности модуля

  • из учетной записи ВКонтакте выбираются все доступные поля и сохраняются в объекте $user;
  • каждому созданному модулем пользователю автоматически может быть назначена роль;
  • в качестве аватара нового пользователя может быть использован автар из профиля пользователя ВКонтакте;
  • созданный модулем пользователь может быть связан с существующим на сайте аккаунтом.

В ближайших планах: обновление статуса пользователя на основе данных из профиля ВКонтакте.

Скачать модуль можно на drupal.org. В продолжении более подробное описание модуля и инструкция по его установке.

Читать дальше ➠

Home sheep home

Home Sheep Home

Есть такой замечательный физический движок box2d изначально написанный на C++ и позже портированный во flash. На этом движке сделано несколько десятков игр, большинство из которых не представляет из себя ничего интересного: примитивный геймлей, основанный на каком-либо способе разрушения хрупких конструкций, простейшая, даже схематичная, графика, отсутствие какого либо сюжета. Но сейчас я наткнулся на игру Home sheep home — смесь The lost vikings и модных тенденций в современном казуальном игроделании. Это лучшая мною виденная игра в своем жанре, очень рекомендую поиграть, жаль она очень короткая, проходится минут за 15.

А вот и ссылка на игру.

Backup-manager — настройка резервного копирования Linux-сервера на Amazon S3 за 5 минут

Настраиваю сейчас под свои веб-девелоперские нужды сервер на основе Debian lenny и когда дошел до настройки резервного копирования данных стало понятно, что задача эта хоть и простая, но очень уж муторная: нужно написать и отладить скрипты, которые будут архивировать нужные папки (причем желательно делать инкрементальные архивы), базы данных, хранилища subversion, а затем переносить эти архивы на удаленный сервер. Задача в общем-то посильная для любого опытного программиста, но минимум день-два написание этих скриптов отнимет.

Очень удачной находкой для решения этой задачи стал backup-manager — это бесплатный набор bash-скриптов, позволяющих:

  • архивировать любые папки, в том числе и создавать инкрементальные архивы. В конфиге просто указывается список директорий, которые должны быть скопированы, а также “черный список” файлов, которые копироваться не будут.
  • делать резервное копирование баз данных MySQL. В конфиге указываются логин и пароль mysql-юзера, имеющего доступ к базам, а всю остальную работу backup-manager делает сам.
  • делать резервное копирование svn-репозиториев, причем бэкап делается не копированием папки с хранилищем, а с помощью команды svnadmin dump.
  • копировать созданные архивы на удаленные сервера по FTP, SSH или (это самая важная для меня фича) в хранилище Amazon S3, а также записывать их на DVD.

Таким образом, один этот этот набор скриптов решил абсолютно все мои задачи, связанные с резервным копированием. Настраивается все это хозяйство не более чем за пять минут, так как в конфигурационном файле каждый параметр имеет подробные комментарии, так что проблем с настройкой возникнуть ни у кого не должно.

Правда запустить копирование архивов на Amazon S3 с ходу не получилось, описание и решение возникших трудностей под катом.

Читать дальше ➠

Зима 2010. Поездка в Тайланд, Индонезию и Сингапур. Часть 3 — Бали, Сингапур, Пхукет

В первый же день на Бали я взял урок катания на сёрфе. Оказалось что этот спорт требует большей физической подготовки чем может показаться на первый взгляд! Учиться было очень интересно и я уже размечтался о том, что все 6 дней, которые мы запланировали провести на Бали, буду кататься доске. К сожалению в этот день я ооочень сильно обгорел, настолько сильно что пришлось обратиться к врачу который в течение двух дней делал мне какие-то процедуры для залечивания ожога, а оставшееся время я ходил в повязке, с которой нельзя было купаться. Очень обидно было провести столько времени в таком месте и не купаться совсем :( Правда кроме пляжей на Бали есть множество мест достойных посещения. Весь остров реально объехать дня за два, такси на целый день стоит около 500 тысяч рупий (50 баксов), причем это официальная такса, по такой цене такси можно забронировать хоть в отеле. Мы, правда, изначально этой цены не знали, по этому взяли таксиста на улице и в итоге заплатили ему 600 тысяч за день, за который мы успели объехать пол острова.

Читать дальше ➠

Зима 2010. Поездка в Тайланд, Индонезию и Сингапур. Часть 2 — Джокьякарта

В Джокьякарту поезд прибыл в 12 часов ночи и как только мы вышли за пределы местной железнодорожной платформы (назвать вокзалом это сооружение язык не поворачивается) к нам сразу прицепился местный “френд” по имени Бенни, который пообещал показать нам самый хороший и недорогой отель. Бродить ночью по незнакомому городу в поисках гостиницы желания не было, по этому мы доверились новому другу, который не обманул, привел в достаточно приличный отель, в котором мы оплатили сначала одну ночь, а на следующее утро, пошатавшись по окрестным гостиницам, решили остаться здесь и на вторую ночь. Бенни потом еще ходил за нами тенью целый день и как только мы собирались потратить деньги (пообедать, сдать вещи в прачечную, заказать такси) появлялся возле нас так, будто бы это он нас привел в это заведение. Потом он наверняка брал какой-то свой процент с владельцев посещенных нами кафешек, но зато у нас, в отличии от кубинских френдов, денег за свои услуги никаких не просил, а в конце куда-то пропал даже не попрощавшись. Удивительный дядька.

Практически для всего нашего путешествия мы заранее купили билеты, кроме билетов на поезд Джакарта — Джокьякарта и билетов на самолет с острова Ява (Джокьякарта) до острова Бали (Денпасар). Сделали мы так для того чтобы уже на месте решить сколько времени проведем в Джакарте и Джокьякарте, по этому утром первого дня пребывания в Джокьякарте мы прикинули сколько времени понадобится на осмотр достопримечательностей и купили билеты на самолет до Денпасара. По нашим расчетам в Джокьякарте достаточно было провести всего 2 ночи (с учетом той одной которую мы там уже были): один день потратить на осмотр Боробудура и Прамбанана, а во второй день забраться на вершину вулкана Мерапи (всего-то 2,9 километра высотой) после чего вечером того же дня можно будет улететь на Бали.

За первый день мы осмотрели храмы Прамбанан и Боробудур, которые оказались очень похожими на камбоджийский Ангор Ват. Прогулка по этим местам была очень приятной, но из за того что Индонезия находится в южном полушарии Земли, сейчас там идет не зима, как у нас в северном полушарии, а лето — сезон дождей. В отличии от Таиланда, в котором я два раза бывал в сезон дождей и в котором эти дожди не сильно портят отдых, так как заканчиваются достаточно быстро, в Индонезии дожди длились по много часов, часто выпадали днем и немного подпортили нам осмотр древних храмов.

Читать дальше ➠

Зима 2010. Поездка в Тайланд, Индонезию и Сингапур. Часть 1 — Пхукет и Джакарта

Ура! В этом году таки получилось (хотя и не без труда) вырваться в отпуск! Опять поехали с друзьями в Азию в этот раз по маршруту: Тайланд, остров Пхукет — Индонезия (ура, я впервые пересек экватор:)), острова Ява (Джакарта, Джокьякарта) и Бали (Денпасар, Легиан бич) — Сингапур — Пхукет.

Вся поездка заняла две недели (ох, как же хотелось побыть там еще хотя бы недельку!) и ниже мои о ней впечатления.

Фотографии из этого путешествия доступны в фотогалерее.

На Пхукете я оказался уже в третий раз: первые два раза был там летом 2005 и 2007 года. За последние три года остров очень сильно изменился: теперь там на каждом шагу русские туристы, в каждой второй кафешке меню на русском языке (которые, между прочим, от этого становятся значительно менее понятными), из торговых рядов постоянно доносятся завлекающие выкрики продавцов типа “Давай-давай наливай”, которые ну ни как не стимулируют к посещению таких магазинчиков. Куда-то пропали толпы тайцев на мотороллерах, но зато появилось много автомобилистов, что привело к появлению пробок, от которых не спасает даже то, что часть дорог Патонга, района в котором я отдыхал все три раза, сделали односторонними.

Кому-то эти изменения могут показаться положительными, ведь теперь здесь вполне спокойно можно отдыхать не зная английского языка, но, на мой взгляд, Патонг стал чуток скучнее, потерял свою изюминку и стал чем-то похожим на попсовый Шармель Шейх.

Но, в любом случае, все эти изменения совершенно не мешают отлично провести время на этом замечательном острове: яркое, но не палящее солнце (ох, как мне такого солнца будет не хватать через несколько дней на Бали), теплое море, пустые тихие пляжи (ну это, разумеется, если отъехать на мотороллере или тук-тукере на пяток километров от основных туристических троп в сторону Карона, например), что еще надо человеку день назад мерзнувшему в холодной серой Москве?! Ну разумеется суп Том Ям, арбузный шейк и свежевыжатый манговый сок! :) Это, наверное, самая вкусная еда на свете!

Читать дальше ➠

Шпаргалка по командам и хоткеям Unix

Стянуто отсюда: http://www.debian.org/doc/manuals/debian-reference/ch01.en.html Хоткеи: key description of key binding Ctrl-U стереть тест перед курсором (erase line before cursor) Ctrl-H стереть символ перед курсром (erase a character before cursor) Ctrl-D terminate input (exit shell if you are using shell) Ctrl-C terminate a running program Ctrl-Z temporarily stop program by moving it to the background job Ctrl-S halt output to screen Ctrl-Q reactivate output to screen Ctrl-Alt-Del reboot/halt the system, see inittab(5) Left-Alt-key (optionally, Windows-key) meta-key for Emacs and the similar UI Up-arrow start command history search under bash Ctrl-R start incremental command history search under bash Tab complete input of the filename to the command line under bash Ctrl-V Tab input Tab without expansion to the command line under bash Команды: command description pwd выводит текущую директорию (display name of current/working directory) whoami выводит имя текущего юзера (display current user name) id выводит id текущего юзера (display current user identity (name, uid, gid, and associated groups)) file <foo> выводит тип файла, переданного в качестве аргумента (display a type of file for the file <foo>) type -p <commandname> выводит расположение файла, вызывающегося при вводе команды (display a file location of command <commandname>) type <commandname> выводит информацию о команде (display information on command <commandname>) apropos <key-word> находит команды, связанные с переданным аргумеентом find commands related to <key-word> whatis <commandname> display one line explanation on command <commandname> man -a <commandname> display explanation on command <commandname> (Unix style) info <commandname> display rather long explanation on command <commandname> (GNU style) ls list contents of directory (non-dot files and directories) ls -a list contents of directory (all files and directories) ls -A list contents of directory (almost all files and directories, i.

Читать дальше ➠
143989334-cover.jpg

Семинар по хапкидо в Днепропетровске

С 21 по 24 января был на семинаре по хапкидо в Днепропетровске, который проводил грандмастер Ким Нам Дже. Было здорово. Хотя это уже третий семинар по хапкидо, который я посетил, и кажется что с каждым разом физическая нагрузка становится все меньше.

О планах

Мы бываем на верху блаженства, когда планируем свое будущее, отбрасывая всякие ограничения с нашего оптимизма и силы воображения. К несчастью, Вселенная не всегда следует нашим планам.

Брайан Герберт «Батлерианский джихад»