Зима 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 января был на семинаре по хапкидо в Днепропетровске, который проводил грандмастер Ким Нам Дже. Было здорово. Хотя это уже третий семинар по хапкидо, который я посетил, и кажется что с каждым разом физическая нагрузка становится все меньше.

О планах

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

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

Несколько статей о Друпале

В течение последнего года я написал три статьи о CMS Drupal, которые были опубликованы в бумажной и электронной версии журнала PC Magazine/RE. Сейчас я публикую “авторские” 1 версии этих статей. Каждая статья разбита на несколько разделов и ниже я привожу ссылки и описания каждого из них.

Первая статья “Разработка сайта на Drupal

  • Часть 1. Введение”. В этой части рассказывается о возможностях Друпала “из коробки”, а также об основных дополнительных модулях. Таксономия, ревизии, мультисайтинг — это совсем не страшно.
  • Часть 2. Архитектура Друпала”. Здесь сказаны общие слова о модульной системе Друпала, механизмах работы с формами, базой данных и кешем. Подробнее эти вопросы будут рассмотрены в следующих разделах и статьях.

После прочтения первых двух частей этой статьи новичок, задающийся вопросом “подойдет ли Друпал для моего нового суперстартапа”, должен на 100% определиться с ответом на этот вопрос. Вообще, в 95% случаев на этот вопрос можно ответить утвердительно, с оговоркой, что работать над проектом будет профессионал хорошо знакомый с Друпалом.

  • Часть 3. Модули Drupal”. CCK, Views, Imagecache, Panels, Ubercart — модули Друпала покрывающие 90% возникающих задач. В этой части статьи даны краткие описания каждого из перечисленных модулей.
  • Часть 4. Интранет-сайт на Друпале. Первый практический пример, в нем разрабатывается интранет-сайт для большой компании. Цель этого раздела — показать возможности, которыми обладает Друпал без доработки напильником. При разработке используются только существующие модули и не написано ни единой строчки программного кода. Аналогичное, только значительно более “кастомное” решение я успешно внедрил в одной из компаний со штатом в несколько сотен человек.
  • Часть 5. Социальная сеть на Друпале”. Точнее не социальная сеть, а коллективный блог с элементами социальной сети. Описание более новой версии примера описанного в этом раздедле можно найти на Швабрешвабр.
  • Часть 6. Оптимизация Друпал”. Этот раздел написал Александр Графов, он же axel. Друпал часто критикуют за низкую производительность. В этом разделе рассказано о приемах, позволяющих “разогнать” движок.

Вторая статья “Пример разработки модуля для Drupal

Третья статья “Темизация Друпал

  • Часть 1. Введение”. Во введении рассказано о шаблонных движках, которые могут быть использованы в Друпале, даны определения основных терминов, использованных в тексте (тема оформления, регион, блок), а также приведено несколько полезных ссылок.
  • Часть 2. Анатомия темы оформления”. Здесь дано подробное описание каждого из файлов-шаблонов, использующихся в темах оформления, а также рассказано о том, как определить отдельный шаблон для каждой страницы или группы страниц.
  • Часть 3. Forms API и темизация”. В этом разделе приводится пример разработки новой и изменения существующей формы с помощью Forms API Друпала, а также о изменении внешнего вида любого элемента формы в отдельности или формы целиком.
  • Часть 4. Темизация Views”. Небольшой раздел, рассказывающий о том, как изменить внещний вид данных, возвращаемых модулем Views.

Темизация Drupal. Часть 4. Темизация Views

Views — один из самых востребованных модулей для Drupal — позволяет создавать списки документов (представления, view), отфильтрованные по любому сложному алгоритму. На выходе модуль возвращает массив данных, который выводится в шаблоне, соответствующем выбранному администратором типу отображения (display) данных.

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

Темизация Drupal. Часть 3. Основы Drupal Forms API и темизация форм

Прежде чем говорить об изменении внешнего вида форм, ознакомимся с основами Drupal Forms API — программного интерфейса, используемого для генерации форм. Применение Forms API несколько сложнее создания HTML-форм вручную, так как требует изучения логики его работы, однако его использование обязательно, поскольку Forms API решает ряд важных задач:

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

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

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