Футер, прибитый к низу страницы

Давно не занимался версткой, сейчас понадобилось сверстать страницу с прибитым к низу страницы футером, помню что раньше не мог найти простого и универсального решения этой задачи, по этому обрадовался, когда нашел вот это решение: http://ryanfait.

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

Путешествие по Перу и Боливии. Часть 2

Отчет о путешествии по Перу и Боливии. Часть 2.

Это вторая часть отчета о путешествии по Перу и Боливии. Первая часть доступна здесь.

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

Добравшись до Оруру мы поехали на железнодорожный вокзал где у нас были забронированы (но не выкуплены) билеты на вечерний поезд до Уюни. Как-то так получилось, что о нашей брони кассиру было ничего не известно, билетов в самый комфортный вагон уже не было, пришлось ехать в вагоне среднего класса (40 боливианов). Хотя обратно мы ехали в самом дорогом вагоне (90 боливианов) разницы между ним и вагоном среднего класса я не увидел, за исключением того, что в дорогом вагоне бесплатно раздали по бутерброду.

До Уюни мы добрались в 2 часа ночи, заселились в первый попавшийся отель, а утром купили билеты на обратный поезд. Здесь у нас была зарезервирована трехдневная экскурсия по окрестностям Уюни и, на этот раз, эта бронь внезапно не исчезла.

Солончак Уюни

Вокруг Уюни множество природных достопримечательностей. Кроме солончака здесь есть долина гейзеров, лагуны с розовыми фламинго, заповедник с дикими животными и просто множество мест с красивыми видами. Беда в том, что расположены все эти достопримечательности очень далеко друг от друга: до самых далеких точек 6 дней пути на автомобиле. По этому здесь распространен такой тип экскурсий: группа туристов от одного до семи человек арендует джип с водителем и поваром и вся эта компания несколько дней катается по округе солончака. Водитель одновременно является гидом и во время поездки рассказывает о местных красотах.

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

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

Путешествие по Перу и Боливии. Часть 1

Отчет о путешествии по Перу и Боливии

С 23 февраля по 10 марта укатил в отпуск, на этот раз, впервые жизни, решил поехать в Южную Америку и посетить Боливию и Перу. Когда-то давно, лет 5 назад, я прочитал в «Максиме» о солончаке Уюни (Salar de Uyuni) и загорелся желанием увидеть его. Солончак Уюни — это самое большое в мире высохшее соляное озеро, в июне-августе оно выглядит как гигантская белая пустыня с идеально ровной поверхностью. В декабре-марте эта пустыня покрывается слоем выоды, глубиной в несколько сантиметров, от чего вся её превращается в гигантское зеркало, в котором отражается чистое небо и облака. Люди, стоящие на этом зеркале, выглядят так, будто ходят по поверхности воды.

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

Авторизация на 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 года. За последние три года остров очень сильно изменился: теперь там на каждом шагу русские туристы, в каждой второй кафешке меню на русском языке (которые, между прочим, от этого становятся значительно менее понятными), из торговых рядов постоянно доносятся завлекающие выкрики продавцов типа “Давай-давай наливай”, которые ну ни как не стимулируют к посещению таких магазинчиков. Куда-то пропали толпы тайцев на мотороллерах, но зато появилось много автомобилистов, что привело к появлению пробок, от которых не спасает даже то, что часть дорог Патонга, района в котором я отдыхал все три раза, сделали односторонними.

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

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

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