3/9/2010 10:39:41 AM

Вот, наткнулся на Австралийский Дайджест: http://www.ozdigest.com

Заметки из блогов русскоговорящих австралийцев, интересная информация о жизни в Австралии глазами новых (и не очень новых) местных и т.д.

3/6/2010 6:29:00 AM

Немножко к теме об уровне сервиса в Австралии, поднятой Мишей.

Когда-то я пытался быть владельцем карточки сбербанка. Дебетовой, не кредитной даже. Мне выдали её на работе для зачисления зарплаты, ну мы и решили получить вторую (дополнительную) карту для Лены на тот же счёт.
Помню, я скачал формы и их сайта и мы из заполнили, потом пошли в центральное отделение, где выслушали “Ааа! Что это у вас за формы, мы таких не знаем, вот заполняйте вот эти!”. Пришлось вернуться домой и заполнить.
Чтобы не тащиться опять в центр Питера мы решили сдать эти формы в ближайшем отделении, где снова выслушали “Ааа! Что это у вас за формы, мы таких не знаем!”. Были удивлены, но взяли “правильные” формы ещё раз.
Оказалось, что самые правильные – это такие ксерокопии с ксерокопий 5-го поколения, на которых ничего не видно и на полях которых ручкой какие-то цифры написаны (“а других у нас нет”). 
На моё возмущение “Тут же ничего не видно! Вы мне из выдали – Вы и объясните, что к чему!”. Женщина взяла бумаги, мрачно всматриваясь в них произнесла “я не знаю…” и стала при нас звонить по телефону, уточняя “а что в первом пункте? так, а дальше?”. Реально было не видно.
Впрочем, спустя две недели оказалось, что карточку нам всё равно не выдадут. Внимание: по соображениям безопасности. Видимо, выпуск дополнительной дебетовой карточки на имя жены, привязанной к уже имеющемуся счёту с уже имеющейся картой серьёзно угрожал безопасности Сбербанка.
Что же, им виднее.

Я к чему это рассказываю.
Вчера мне позвонили из WestPac (местный банк, в котором у нас счёт) и сказали, что одна из Ленкиных кредитных карт была скомпрометирована и в данный момент идёт разбирательство.
На мой вопрос, какая именно транзакция оказалась “плохой” и что за продавец, ответить отказались, объяснив, что разбирательство ещё не закончено, и скорее всего не продавец или мерчант плохой, а эти самые продавец или мерчант в свою оказались скомпрометированы.
Человек “на том конце провода” объяснил, что поводов волноваться нет, нужно лишь посмотреть на всякий случай последние транзакции. Кроме того, поскольку одна из карт была скомпрометирована, будут перевыпущены все кредитки, привязанные к данному счёту. А текущие будут заблокированы сразу после этого разговора. Желательно их уничтожить.
Нет, никуда идти не надо, адрес такой-то? Карточки в течение недели будут отосланы по этому адресу. Да, дебетовые карточки работают.
Спасибо и извините за неудобства.

Проблема смены карточек – 2 минуты телефонного разговора и никуда не надо ходить!
Для сравнения – тот же сбербанк: я был в Бельгии, когда моя карточка истекла и была перевыпущена. Будучи готовым, казалось бы, уже ко всему, мы заготовили Лене доверенность на получение моей новой карты, она как раз ехала в отпуск в Россию.
И что же? Фигушки, “мы не можем выдать Вам карту, так как Вы не сдали старую”. Лена просидела часа три в отделении (это после нескольких дней, потраченных на “валидацию доверенности”), я несколько раз звонил из Бельгии туда, объясняя, что придти в отделение я не в состоянии и что если не будет карточки – мне не на что будет покупать еду и я умру. Закрыть счёт? Извольте, приходите в отделение. Под доверенности? Простите, в доверенности не указано возможности закрытия счёта, поэтому верните карточку.
Потеряли? Чтож, тогда можно, но тогда нам надо уничтожить и ту новую, что мы выпустили, и перевыпустить её заново. Ну и что, что потеряли другую, такова процедура. Только это займёт минимум две недели, а у вас ведь билет через три дня…
Это просто ужас какой-то. Хотя к концу рабочего дня Лене удалось-таки получить карточку какими-то правдами и неправдами…

Ну и напоследок, по поводу “придите в отделение банка с документами”.
Испортилась у меня тут дебетовая карточка как-то. Ну, просто магнитная полоска расцарапалась как-то, видимо я не слишком бережно хранил. А что делать, карточка-то нужна… Выбрал время (банки работают так же, как и все – в рабочее время, что не слишком удобно для посещений), взял документ удостоверяющий личность (права, других тут нет) и отправился в отделение.
Прихожу, показываю, говорю – вот карточка, видите – поцарапалась, не работает. Хочу новую. Вот я, вот документ.
Человек на меня смотрит и говорит: сэр, а Вы зачем пришли? Вот, видите – тут телефон есть на обратной стороне карточки. Позвоните туда – Вам сделают новую. Вот и всё.
Сегодня позвонил – говорят “не проблема, ждите, мы пришлём Вам новую”.

А я вот как-то не отвык ещё, что практически на любой звонок в банк там отвечают фразой “Вам нужно придти с паспортом в отделение…”, до сих пор удивляет, что не нужно ведь!

2/11/2010 12:07:42 PM

Вышли релиз-кандидаты Visual Studio 2010 и TFS 2010. Поставил, смотрю…

Про “студию” могу сказать пока только то, что работать стала существенно быстрее, чем прошлая Beta2. Предыдущая версия своей производительностью, признаться, наводила на мысль о том, не пошло ли использование WPF в ущерб. Однако, теперь этого ощущения нет. Работает не медленнее 2008-й – это точно.

А вот TFS стоит отметить отдельно. Устанавливать его теперь гораздо приятнее, чем его 2008-го предка, с которым ещё намучаешься устанавливая, да и немало (помню, как в Алкателе сидел до 10 вечера, выполняя установочные инструкции по шагам).
Установка же 2010-й версии проста и даже примитивна. Два этапа: собственно, установка, которая занимает всего пару минут, и конфигурация в визарде, что тоже занимает примерно столько же времени.
Сразу скажу, что я пробовал только Basic конфигурацию (там есть ещё пара вариантов), так как устанавливал на локальную машину. Приятно, что в Basic-варианте работает и билд сервис, и даже web access, и при этом ему не нужно ничего, что начинается с “Sharepoint”. И работает даже с SQL Server Express.
Поставил – и работай. Просто, удобно, как и хотелось.

Много всяких интересных штук там, в TFS 2010, но я хочу отметить две:

  1. Билд-сервисы:
    • На одной машине можно без хаков иметь несколько build-агентов, что не может не радовать;
    • Билд-скрипт, который был раньше MSBuild-проектом, теперь представляет собой Workflow. Редактировать его в Workflow-дизайнере, добавлять и даже создавать свои собственные задачи теперь гораздо удобнее и приятнее.
  2. Gated Check-Ins.
    Здесь я, признаться, в замешательстве. Поясню: Gated check-in – это когда разработчик делает check-in в репозиторий, при этом выполняется build, если хотите – прогон unit test’ов, и если что-то пошло не так, то внесённое изменение отвергается и не попадает в систему контроля версий. А если всё прошло как надо, то изменение попадает в соурс контрол, конечно. Соответственно, в соурс контроле мы имеем ветку, которая никогда не будет сломана и всегда будет как минимум компилироваться, а как максимум – зависит от вашего покрытия юнит тестами.

Так вот, Gated Check-Ins работают в TFS2010 замечательно, билд никогда не ломается и всё такое. Но есть у меня одно недопонимание, одна фича, которую, как я надеялся, исправят после Beta2, но она осталась…

Выглядит это так:

  1. Я изменяю код и делаю check-in.
  2. Поскольку мои изменения, пока не прошла валидация, де-факто не попадают в репозиторий, я всё ещё вижу изменённые файлы как checked-out.
  3. Билд и юнит-тесты проходят успешно, код попадает в репозиторий.
  4. Здесь я ожидаю, что файлы станут checked-in, если я их больше не трогал. Онако, этого не происходит.
  5. Я пытаюсь делать Get Latest Version или Check In снова, не важно что из этого.
  6. TFS, внимание, заявляет, что у меня локально присутствует версия файла #7, а в репозитории она уже #9 (очевидно, #8-это мой промежуточный check-in, #9 – финальный после валидации).
  7. Мне необходимо сделать merge версий 7 и 9! Хотя, ежу понятно, что они одинаковы, ибо это изменение делал я, только я и никто больше!
  8. Я признаю, что merge в VS2010 и в VS2008 – вещи очень и очень разные в пользу VS2010, там надо нажать ровно одну кнопку, даже никаких всплывающих окон, но сам факт… И так, делаю auto merge, всё проходит отлично, так как нет разницы, но файлы-то остаются в состоянии checked out!
  9. Я должен снова сделать check-in, и тогда оно мне скажет: изменений нет. И пометит файлы как checked in, чего мне и хотелось.

Звучит, возможно, сложнее, чем есть на деле, но вы попробуйте :)

Я понимаю, что это, наверное, достаточно сложно – отследить, что я действительно не менял файлов пока шла валидация, поэтому нельзя просто сделать их checked out когда она закончена.. Ну, вдруг я менял.
Я понимаю, что в общем случае при таком вот “отложенном” check-in может возникнуть automerge от нескольких разработчиков и в этом случае нужно просить делать merge…
Но я не понимаю, разве нельзя было ввести ещё один статус “в процессе валидации" для файлов в солюшн эксплорере? И “сбрасывать” его обратно в “checked out” если я меняю эти файлы? Пусть даже и на основе read-only атрибута в файловой системе?
Разве нельзя отследить, что во всём этом процессе вот для этого конкретного файла не было никакого автоматического merge’а сделано на уровне TFS? И не просить меня делать merge если файл не меняли ни локально, ни в TFS?
Во всех остальных случаях – спрашивайте, пожалуйста, я только рад буду и буду делать merge с удовольствием!

Короче, тут можно, конечно задать вопрос “Вам шашечки или ехать?”, и утверждать, что целостность билда важнее всех этих мелких неудобств.. Но ведь хочется, чтобы и их не было… :)

В общем, пока как-то так…

2/7/2010 3:23:00 AM

Пришлось использовать, так сказать, по назначению. Точнее, по одному из – восстановить “умирающую” машину.

Что-то я сделал такое нехорошее со своим ноутбуком – толи удалил что-то, толи поставил, толи выключил его неподобающим образом (4-секундной задержкой кнопки выключения, бывает такое), но факт в том, что система “заболела”. IE не открывался совсем, Windows Installer отказывался работать, заявляя, что части его нет, GTalk рисовал окошко но упорно в нём ничего не показывал, и т.д.

Мысль о переустановке windows меня угнетала (хотя, было время, любил я это делать, глупый был), а мысль о восстановлении системы вводила в замешательство по двум причинам: у меня на ноутбуке нет DVD-привода и как быть с установленными обновлениями?

Вот тут-то и пригодился WHS, ежедневно делающий backup компьютеров.

Сделал загрузочную флешку из WHS Restore CD (ну, так как DVD-привода-то нет), воткнул и стал ждать (медленная флешка у меня).

WiFi он, конечно, не нашёл, да я и не ждал. Ничего, воткнул кабель от роутера. Удивительно, но сетевой карты он не нашёл тоже. Но зато предложил вставить диск либо флешку с драйверами.

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

Ничего, подумал я. И полез с другого компьютера на WHS, чтобы открыть там бекап, залезть в папку Windows и, может быть, отыскать там нужный драйвер.

Однако, всё оказалось куда проще. В самом бекапе, оказывается, лежит папочка с говорящим названием и файлом readme, в котором написано: “вот тут все драйверы, которые могут понадобиться при восстановлении из бекапа”.

Скопировал их на флешку, воткнул – всё нашлось, заработало. Мастер восстановления только спросил, какой из домашних PC будем восстанавливать, и бекап от какого дня использовать. Я выбрал “позавчера”. Восстанавливал только раздел с Windows.

Через двадцать минут я получил “позавчерашнюю” машину, целёхонькую и отлично работающую. Только некоторые неважные файлы из папки Downloads потерял – она у меня запрещена для бекапа, ибо важные файлы качаются напрямую на WHS.

Оказалось очень удобно.

А ещё я нашёл такое дополнение для WHS, называется Time Traveler. Судя по аннотации оно обеспечивает версионность файлов, хранимых на WHS. Ну, то есть, если что-то нечаянно удалил, или перезаписал – можно откатить.

Дополнение платное, поэтому я его даже купил. И поставил. Сказал, чтобы следил за версионностью раз в сутки в 3 часа ночи. А в 11 утра обратил внимание, что он всё ещё “следит”. Что же оно делает, возник у меня вопрос.

Полез я смотреть и обнаружил, что эта штука поставила мне на систему SVN (или какого-то клона SVN) и пытается сделать check in всех папок, которые я разрешил для мониторинга версий. Конечно, я разрешил папку с фотографиями, которых я даже не знаю сколько. Гигабайт 300, может быть.

В общем, такой подход мне очень не понравился. Если бы я хотел SVN – я бы поставил SVN, простой скрипт, делающий check in раз в день, я бы тоже написать сподобился. И не надо мне парить мозги и разводить на деньги.

Отправил заявку на money back.

P.S. А оно ещё очень странно устроено. Судя по монитору процессов, оно вызывает svn.exe очень часто и в один поток. Пофайлово, чтоли, делают… Ужас какой.

P.P.S. А SVN тот ещё… Наделал во всех каталогах и подкаталогах своего мусора своих папок, начинающихся с точки, а убирать за собой и не подумал. Сижу, смотрю, как PowerShell чистит это <нехорошее слово>.

Tags:

Live | Other

1/22/2010 1:39:36 PM

Большое количество проблем, связанных с производительностью SQL Server на больших данных так или иначе упираются в IO. В нашем случае, когда речь идёт о действительно больших объёмах, это ощущается по полной программе. Для примера, маленькая дивелоперская база данных, используемая локально на моей машине, занимает сейчас чуть менее 14 гигабайт. Это так, считай ничего, локально фичи писать/отлаживать.

На моей рабочей машине установлено “всего” 12 гигабайт памяти, из которых SQL Server’у разрешено использовать 6. Поэтому, понятное дело, о полном кешировании базы в памяти речь идти не может. Да и, думаю, редко где такая возможность существует.

И вот тут мы упираемся в IO. Особенно на scan’ах.

Решать эту проблему можно двумя путями:

1) Грамотным построением SAN’а (Storage Access Network, всё имеющееся дисковое пространство), умным разбиением оного на LUN’ы (Logical Unit Number, логическая группа физических дисков), объединение LUN’ов в соответствующие задачам RAID’ы, распределением по ним файлов базы данных и т.д, что позволяет добиться отличных результатов за счёт параллельной работы дискового массива;

2) Настройкой и распределением самой базы данных SQL Server.

Сразу скажу, что 1 и 2 не исключают друг друга, наоборот, гармонично дополняют и всячески сопутсвуют.
Далее я буду говорить только о втором пункте, потому как первое – это работа администратора, в этом я не силён. Кроме того, часто бывает так, что конфигурацию “железа” особо выбирать не приходится (либо уже настроено на максимум), а производительность повысить надо.
В любом случае, не пользоваться возможностями SQL Server’а по оптимизации смысла нет.

Для оченки производительности именно в разрезе IO я перед каждым запросом делаю DBCC DROPCLEANBUFFERS, чтобы очистить clean buffers, которые в SQL Server являются кешем прочитанных с диска страниц в памяти.

Для начала – краткое и простое (без углублений) пояснение того, откуда и как вообще берётся нагрузка на диски.

SQL Server читает с диска данные так называемыми “страницами” по 8 килобайт. На каждой такой странице находится какое-то количество строк. Столько, сколько может уместиться на 8-килобайтовой странице. Соответственно, даже если требуется “выдать” всего одну строку, SQL Server прочитает с диска минимум страницу.
С другой стороны, чем больше строк “умещается” на страницу, тем меньшее количество раз SQL Server’у нужно обратиться к диску для получения результата.
Здесь мы приходим к важному:

  • Размер имеет значение.

Часто работая с кодом, мы не придаём значения размеру типов переменных: long, int, byte – какая разница. В большинстве случаев это действительно так – разницы никакой. Но в случае с SQL Server всё иначе, здесь размер действительно имеет значение. Ибо, скажем, bigint занимает места в 2 раза больше, чем int, соответственно, данных с колонкой типа bigint на страницу поместится в два раза меньше, чем данных с колонкой типа int, что означает, что для чтения одного и того же набора данных SQL Server’у потребуется прочитать в 2 раза больше страниц. То есть – мы имеем в 2 раза большую нагрузку на диски (IO).
Так и с другими типами данных. Именно поэтому SQL Server и имеет всякие разные настройки точности типов, вроде datetime2(4) и т.д.
Это не значит, что надо бросаться переделывать все bigint на int, это значит, что в данном случае о размерности типов надо думать.

Говоря об IO, в общем-то, вся задача сводится к одному простому вопросу: как заставить SQL Server читать с диска меньше страниц (про “читать быстрее”, повторюсь, речь не идёт)?

Про “умещать на страницу больше данных” с помощью “правильного” выбора типов колонок я уже сказал, однако SQL Server (начиная с 2005 и в Enterprise версии, насколько я помню)  предлагает и ещё один вариант:

  • Компрессия данных.

Существует два вида компрессии: Page (на уровне страниц) и Row (на уровне строк). Они друг от друга сильно отличаются.

Row-компрессия представляет собой “классический” вариант сжатия с помощью архивирования. Проще говоря, данные в строке сжимаются с помощью deflate (тут не уверен, кстати, может и не им), соответственно, в сжатом виде на 8-килобайтовую страницу “влезает” больше строк.

Page-компрессия представляет собой некий “справочник” в заголовке страницы, в котором записывается, что такое-то значение встречается в таком-то столбце столько-то раз. Соответственно, само повторяющееся значение сохраняется всего один раз вместо того, чтобы хранить его в каждой ячейке. Никакого архивирования при этом не происходит, но, опять же,  за счёт того, что не надо хранить повторяющиеся значения, на страницу умещается больше данных.

Забавно, но во всех случаях, которые я видел, Page-компрессия “сжимала” данные лучше, чем Row-компрессия. Хотя я, признаться, ожидал обратного. Коэфициент сжатия сильно зависит от самих данных, конечно. У меня получалось по-разному: бывало и 25-30%, а бывало и 70%…
Попробовать и оценить можно прямо из Management Studio – когда делаете компрессию там есть кнопочка “посчитать”. Или можно просто системной процедурой воспользоваться, названия не помню (дома я).

Уместить на страницу “да побольше, побольше” – это половина решения. Вторая половина заключается в том, что и как туда умещать.
Ну вот представьте, мы выбираем из таблицы Orders все записи, сделанные для компании VPupkin LTD. SQL Server читает, он читает постранично, он всегда так делает. На первой (подходящей, допустим сервер знает какие страницы надо читать и где есть интересующая нас информация) странице у нас одна нужная запись, на второй – ещё одна, на четвёртой – две и ещё одна на шестой. SQL Server вынужден прочитать с диска страницы 1,2,4 и 6. И совершенно не важно, что на каждой из этих страниц ещё по 196 записей, которые к нашему запросу отношения не имеют.
Отсюда вопрос: как бы сделать так, чтобы интересующие нас записи располагались “рядышком”, а не “расползались” по всему файлу данных?
И на это есть хороший ответ:

  • Создание разделов (партиций)

По-моему эта штука доступна тоже только в Enterprise-версии, но я не уверен.
Смысл её состоит в том, что для какой-либо таблицы мы можем задать несколько разделов (партиций, я буду писать “партиций”, не привык я к “разделам”) и указать критерий, по которому SQL Server будет решать, в какую именно партицию попадёт запись.

То есть, буквально, мы просто говорим SQL Server’у: все Orders для компаний с ID от 1 до 100 – в эту партицию, а от 100-200 – вон в ту. Таким образом мы создаём некую физическую группировку данных, то есть, при наличии, скажем, 10 партиций заказы одной компании будут находиться в одной пратиции => “раскиданы” по 1/10 таблицы, а не по всей, => в 10 раз увеличивается плотность заказов одной компании => меньшее количество страниц нужно будет считать с диска.

К тому же SQL Server достаточно умён для того, чтобы понять: раз все записи для указанной компании находятся на одной партиции, то во все другие вообще смотреть не надо, в запросе учавствует только кусок таблицы. В 10 раз меньше данных.
Ну и существует синтаксис для того, чтобы явно обратиться к какой-то одной партиции и сделать запрос только к её данным, существует возможность для определения, в какой именно партиции лежат интересующие данные, если мы хотим обратиться к ней явно и т.д. и т.п.

При всём вышесказанном, таблица продолжает оставаться целой таблицей во всех её проявлениях, “извне” ничего не меняется, что просто замечательно.

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

Ещё одна замечательная открывающаяся возможность – это паралеллизм. SQL Server, выполняя запрос, в котором учавствует такая “разбитая” таблица, оптимизирует работу, выполняя запрос к каждой партиции параллельно. Это очень существенно уменьшает время выполнения запроса, особенно на scan’ах. Даже если файловые группы партиций находятся на одном физическом диске, видимо, за счёт “группировки” на страницах и этого самого паралеллизма.
В цифрах: у меня есть запрос, выполняющийся за 1 минуту 09 секунд. После разбивки таблицы (для теста, на глазок) всего на 5 партиций, находящихся на одном физическом диске (том же, другого у меня нет), время выполнения запроса сократилось до 40 секунд.

Максимальное число партиций – 1000 на одну таблицу. По словам человека из Microsoft – цифра взята “с потолка”, надо же было какое-то ограничение придумать :)

Теперь об “побочных эффектах”.

В смысле разбиения по партициям – никакого отрицательного побочного эффекта, в общем-то, и нет. Есть ещё несколько интересных возможностей, такие, как staging-таблицы, например, но я и не работал с этим, да и не по теме несколько.

В контексте компрессии overhead есть – это +3-4% CPU на упаковку/распаковку. Впрочем, как показывает опыт, SQL Server достаточно редко “ест” CPU так, что не найти “лишних” 4%, а уж если мы уткнулись в проблемы с IO – то уж CPU-то гарантировано свободен.
И ещё. К сожалению, ни один из видов компрессии не получится использовать на таблицах, в которых есть sparse columns.

1/10/2010 3:10:54 AM

Купил термометр, читаю гарантию:

img004

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

Как в том анекдоте: гарантия пожизненная, вещь “умерла” – значит гарантия кончилась.

P.S. Для тех, кто не читает по-английски и невнимательных: в англоязычной версии обещается пожизненная гарантия, в русскоязычной – двухгодовая.

Tags:

Live

1/7/2010 2:08:05 PM

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

Код выглядел примерно так:

//items is a List<MyItem>
//itemIds is a List<long>

var resultItems = items.Where(x => itemIds.Contains(x.Id));

Можно было делать join, но он в итоге всё равно в нечно подобное выражается, поэтому разницы нет.
Время выполнения этой штуки – 6.7 секунды. Да, там полно элементов, что-то десятки тысяч, но всё же – почти 7 секунд – это неприемлемо долго.

Оптимизировалось всё это дело введением одной строчки кода:

var hashedIds = new HashSet<long>(itemIds); //и дальше вместо itemIds используем hashedIds

В общем-то оно и понятно, что хэш в подобных вещах быстрее.

Время выполнения вот этой строчки (создание хэш-таблицы) – порядка 100 милисекунд.
Время выполнения выборки – порядка 40 милисекунд.

Итого – 150 милисекунд вместо 6.7 секунд. Неплохо :)

P.S. Поковыряйтесь в профайлером – много интересного найдёте. Я нашёл :)

1/6/2010 11:54:00 AM

Я уже затрагивал тему пляжей и купаний в одном из предыдущих постингов, когда рассказывал о том, как попал в рип, но это было ещё на территории Нового Южного Уэльса (NSW), так что не считается.

Практически сразу после прибытия в Редклиф мы посетили местный пляж с, как нам было сказано, учебно-тренировочными волнами. Волны там действительно небольшие, где-то в районе полуметра всего, но детям на бодибордах кататься в самый раз.
Пляж оказался большим, приятным и тёплым настолько, чтобы было не холодно, но освежало. Что для меня лично очень большой плюс, ибо в менее благоприятных условиях я могу ну очень долго заходить в воду.

По морям, по волнам...

Посмотрев, как мы потренировались и поучились, ребята решили отвезти нас на Sunshine Coast. Это по-русски будет, наверное, Побережье Сияющего Солнца. Ещё, если проявить фантазию и чувство юмора, то можно перевести как Весёлое или Радостное побережье.

Да, в наши дни всё действительно радужно. Но вот прошлое и у этого светлого клочка земли с кучей километров прекрасных пляжей было не слишком весёлым.
Я уже упоминал о том, что на территории нынешнего Квинсленда коротали свои дни, если так можно выразиться, дважды ссыльные. Так вот и они убегали. И прятались на территории нынешнего Sunchine Coast’а. Жили там с аборигенами, лишь бы свои не нашли.
Некоторые из баталий так называемых “Чёрных Войн” – разборок между белыми и аборигенами – тоже происходили там же. Все знают, кто и как победил.
Ну, а с середины 1960-х там и началось то, что мы имеем там сейчас – пляжно-курортная направленность.

Волны на Sunshine Coast’е уже не были учебно-тренировочными и неплохо возили нас на себе, когда удавалось их оседлать. Поначалу не слишком получалось, потом стало получаться лучше. Из воды выходил всего пару раз – передохнуть, ибо оказалось, что в основном силы тратятся на то, чтобы после того, как “приехал” к берегу, обратно зайти в воду, борясь с волнами.

Следующим пляжным этапом для нас стал Surfers Paradise (сёрферс пэрэдайз, “рай сёрферов”), центральное и самое культовое место одного из самых известных курортов Австралии Gold Coast (золотое побережье).

 А за спиной - пляж на много-много километров...

История этого места не столь драмматична: раньше там жил немецкий фермер и выращивал сахарный тросник. Там так принято – выращивать сахарный тросник. Его там полно, даже больше, чем банановых ферм, коих с годами становится всё меньше. А ещё, говорят, если ехать поездом на юг, от Брисбена до Кернса, то сахарный тросник – это всё, что будет видно из окон на протяжении всей дороги. А это полторы тысячи километров с гаком.
Так вот. Фермер этот даже не был заключённым (да, и нормальные люди в Австралию тоже приезжали!).
Однако, фермерство фермертвом, а немец достаточно быстро понял, что к чему, продал ферму и построил отель. Так и повелось – там теперь полно отелей.

Прыжок с доской

Из названия можно понять, что волны там отличные. Высокие, метра два точно есть. И сёрферы, действительно, висят вдали, много.
И флажки – где можно плавать и спасатели спасут, если что. И там значки ещё, знаете, такие: в зоне флажков на сёрфах не кататься. Ну, чтобы людей не задавить, видимо. Назначение синих и красных флажков до поры оставалось загадкой…

Разрешающе-запрещающие флажки.

Так вот, посмотрели мы на эти знаки – и решили, что с бодибордами, наверное, тоже нельзя. Ушли в сторону от флажков, катаемся себе, волны ловим.
Выносит меня волной на берег, я беру доску, плыву от берега… Смотрю – Ленка и Алексей в воде головой к берегу на досках  месте анвисят, руками перебирают… Здорово, думаю, волну ловить научились, как специалисты висят! Ну, я на доску – и тоже туда, подальше. Тоже, стало быть, волну ловить. Пока доплыл, поворачиваюсь, смотрю – у берега стоит спасатель, а Ленка нам кричит: “Выходите! Спасатель сказал, что здесь рип!”. И резво так ловит волну и выезжает на берег, на самый песок.

Тут-то я понял, чего они это головой к берегу, гребли, а всё равно на месте висели. “Блин!”, подумал я, тоже прыгнул на доску – и к берегу. Правда, одной волны мне не хватило, но тремя волнами “два шага вперед – один назад” меня всё же вынесло туда, где уже можно нормально на ноги встать и нормально держаться, к берегу брести. Течение чувствовалось, да.
Вылез, посмотрел – Алексей всё ещё там же висит. Показываю спасателю, дескать, там ещё один. Тот плюхается на свою спасательную доску – и туда. Смотрю – показывает Лёхе, чтобы плыл по диагонали к берегу, так надо из рипа выбираться. И тот тут же встаёт на ноги и выходит к берегу. Помощь не потребовалась.
С доской из рипа горааааздо легче выплывать.
Опять же, страшно никому не было – рип – течение параллельное берегу, в океан не унесёт, главное – это не тратить силы по-глупому, борясь с ним “в лоб”. Правда, об этом ещё помнить надо, а “там” уже как-то не до того :)

Спасение утопающих - это их дело. Самим утопающим не до того. Машинка, кстати, тоже спасательная. Спасатель как раз в ней. Патрулирует. У него и мигалка есть!

Вылезли, спасатель сказал, что поскольку у нас нет ласт, в этом месте купаться не стоит – из сильного рипа выплыть тяжело. Дальше купались уже в пределах флажков, с бодибордами там, оказывается, можно. И там, оказывается, была табличка, на которой всё подробно и доступно написано: “сильный рип за флажками, не заходите глубоко, очень нестабильные условия, следите за детьми.”

Предупреждающий знак: рипы за флажками!

И там как-то сильно легче даже, без течения-то! Ну, в зоне флажков.
На берег выходил за всё время два раза – попить воды из бутылки – и обратно. То есть, считай, что и не выходил. Купались доооолго. Часа 4, наверное, может 5.

А потом пошли фотографировать Gold Coast с самого высокого жилого здания – там сверху круговая смотровая площадка (первая фотография сделана днём, но уж очень понравилось и захотелось забраться туда ночью).

Оставшееся небольшое время уделили прогулке по туристическим улицам Surfers Paradise…

 

 

 

 

 

 

 

P.S. Раз уж зашёл разговор о песках и побережье, расскажу забавную историю, которую мне недавно рассказали. Про австраллийский песок.

Однажды, какое-то количество лет назад, один английский инженер в азии строил что-то масштабное, я не помню что, да это и не важно. И нужно ему было вести строительство в воде. И тогда он решил, что в качестве базиса можно насыпать песка (в принципе решение, как оказалось, верное), пустыня-то рядом. Затратили кучу денег и сил, привезли из пустыни песка, высыпали его… И тут оказалось, что песок этот пустынный – он “не такой”, он просто размылся и растворился в воде.

Ну, раз имеющийся песок не подходит, то нужно же где-то взять подходящего. Подходящий нашёлся на южном побережье Австралии. Местный песок, как говорят, compacts in the water, то есть, становится плотным и оседает на дно.
Закупили тогда песка, перевезли его. Затратили 9 миллиардов денег, если мне память не изменяет.

И тут понеслось. Песок стал популярным, его стали закупать.

Правительство тогда, чтобы сохранить побережье, ввело жёсткий запрет на экспорт австраллийского песка. И теперь его вывозить нельзя.

Но это только присказка. Сказка – вот она.

Однажды в Бразилии проводился чемпионат по пляжному волейболу. И организаторам и спортсменам не нравился местный песок. Тогда они взяли песка в Австралии. Тут, в Сиднее, на Бондае. Отвезли его в Бразилию, провели чемпионат… И выслали обратно.
Потому, что купить австраллийский песок нельзя, а взять в рент – можно.
Вот, вернули песок обратно на Бондай.

По-моему – весёлая история.

Песчаный пляж с высоты... Не Бондай, малая часть Голд Коста.

1/3/2010 9:28:00 AM

_DSC4317_sm Не смотря на то, что на территорию австраллийского штата Квинсленд (Queensland) ещё десятки тысяч лет назад открыли всякие островитяне, а потом, гораздо позже, туда добирались французские, голлансдкие, португальские мореплаватели, всем известно, что Квинсленд открыл Джеймс Кук в 1770-м году.

Тогда, в 1770-м, Джеймс, сидя у себя в Дарлинг Харбор (в Сиднее), подумал, что неплохо было бы записать на своё имя ещё что-нибудь, и поплыл на север. Вот он плыл, плыл, и приплыл… нет, не в Брисбен, ибо Брисбен стоит на достаточном удалении от побережья и туда он приплыть не мог. Он приплыл в Редклиф, это теперь минут 30 на машине до Брисбена.

То, что “открыл” Кук – это, я полагаю, в те времена была достаточно суровая земля, но англичане быстро сообразили, как её использовать. И применив уже имеющиеся у них навыки, стали ссылать туда заключённых. Но, поскольку земля-то суровая, то не просто заключённых, а рецидивистов, которые умудрились провиниться уже будучи в ссылке в Новом Южном Уэльсе. Такая вот получилась двухэтапная система. Проштрафился в Англии – тебя ссылают в Новый Южрый Уэльс, проштрафился и там – дальше на север, в коллонию “Моретон Бэй”, так раньше это называлось.

В 1859-м году королева Виктория официально отделила эти земли от Нового Южного Уэльса, новая территория получила название в её честь – Квинсленд (Queensland, земля королевы).

По следам Кука мы в первым делом приехали в Редклиф. Ну ещё потому, что там живут добрые люди, которые любезно согласились принять нас и организовали отличную культурно-развлекательную программу, за что им огромное спасибо :)

Юг Квинсленда – та местность, где мы были – это субтропики, поэтому природа и растительность существенно отличается от того, что есть у нас в Сиднее и тем более от того, что мы видели в Виктории на пути в Мельбурн. В Квинсленде всё как-то живее, чтоли. Разнообразнее.

Австраллийский пейзаж

Взять, например, дождевые леса. Здесь у нас тоже есть, да, но в Квинсленде это как-то по-настоящему. Сказано – дождевые леса. Приезжаешь – и вот тебе лес, вот тебе дождь. Всё по-честному. Очень красиво.

Водопад

Вода - основа жизни. 

Или вот, горы. Если долго ехать по дороге вверх на гору (удивляясь, что вдоль этой дороги на этой горе кто-то живёт – что они там делают?!), то можно приехать к Лучшей Из Площадок Для Обзора (она так и называется – The Best Of All Lookout).
Мы ехали туда уже после захода солнца, в темноте и в тумане. Хотя, может это и не туман был, а низкие облака.

Лес, дождевой лес.

Противотуманных фар у нас нет, так что видно было плохо, хорошо ещё, что успели разглядеть перебегающего дорогу маленького кенгуру. Ехали мы, ехали, и уже решили, что где-то что-то проскочили, потому как не видно же ничего. А тут как раз смотрим – какое-то место, где можно поставить машину. Решили – встанем и позвоним ребятам, которые тоже уже сзади давно не едут, чтобы направили куда надо. Только встали, как они подъехали. Оказывается – это самое оно и есть, а дорога дальше не идёт и надо идти 350 метров пешком через лес.
И вот представьте – темно, к тому же туман, верхушка горы, лес и узкая тропинка. Хорошо, что я лампу взял ту, которая для палатки покупалась.

_DSC3623_sm

Зрелище, на этой площадке, конечно, неповторимое. Высоко-высоко, на самой верхушке горы мы стоим на площадке и смотрим вдаль… А там – ничего нет. Совсем. Потому, как темно и толи туман, толи облаком накрыло. Вспоминается фильм “Лангольеры”. Вот именно так же – просто сзади тёмный лес и гора, а впереди – ничего, белая молочная пустота. И я стою с этой лампочкой на этой площадке, в темноте, и остальные – кто с буттербродом, кто с чашкой чая из термоса… Незабываемая картинка.
А говорят, что когда нет этого молочного тумана или облака, то можно увидеть соседние горы, дорогу внизу, склоны, покрытые лесами, воду и светящуюся полоску Голд Коста вдали. Но я рад, что увидел именно этот туман и это облако.

Ещё в южном Квинсленде живут уникальные светящиеся червяки. Которые, по давней австраллийской традиции, на самом деле никакие не червяки, как коала – не медведь а вобмат – не свинья. Но мы не будем придираться, мы не местные. Glow Worms. Worms – так worms, чего нам.

Червяков этих можно увидеть только ночью (а фотографировать и вовсе нельзя, чтобы не пугать их подсветкой автофокуса) и светятся они только когда голодные. Своим свечением они приманивают насекомых, которыми и питаются. Съесть они могут только мелких насекомых, таких, как например комары, а крупные твари им не по зубам, да ещё и навердить могут – попортят светилку. Поэтому червяки договорились с пауками. Пауки на деревьях плетут свои сети вокруг колоний светящихся червяков, в эти сети и попадает добыча покрупнее комара.
Так же, как живущие здесь же светящиеся грибы договорились со змеями – те ловят и жрут всех, кто может навредить этим грибам…

1/3/2010 5:27:57 AM

Столлман побил Балмера с его “developers, developers, developers”. Думается, навсегда. Это просто слов нет. У него даже вид как у того мужика из Аум-Сенрикё.

Tags:

Other

Powered by BlogEngine.NET 1.6.0.0

About the author

Alexey Raga Alexey Raga
.NET software developer.

E-mail me Send mail

Twitter


Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2010

Sign in