Ай-Петри свершилось!

22 May 2013

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

Но аккуратно "вспомнить" это место уже не представлялось возможным. Душа давно уже не лежит на асфальтовые серпантины. А вот огромнейший перепад в сторону Ялты - это сила. АМ велосипед подразумевал дальние дальние дороги, а коллеги, увлеченные ДХ, утащили бы на самые зубодробительные спуски. И того и того есть там в избытке.

IMG_2079_Ride

В этот раз маршрут представлял из себя попытку доехать до Беседки Ветров. Виды предстояли шикарные, были почти что на вершине Крыма. Слева виднелись водохранилища, и можно даже было Симферополь разглядеть. Справа же скалы, заросшие лесами, играли светом и тенью в лучах солнца проскакивающего в облачную погоду. Неописуемо! Сама дорога - та ещё. Не знаю кто назвал Ай-Петри "плато", но постоянная череда маленьких спусков и больших подъемов с солидными градиентами - замучила просто в ноль. В очередной раз озадачился двумя звёздами спереди, ибо одной хватало только что бы в повышенном темпе докрутить до верху очередного холма и выплюнуть там язык. Нет такого плавного спокойного кручения..

Доехав до границы заповедника, обмыслии текущую ситуацию с лесниками, прикинули возможные пути отступления по скучному асфальту. Было решено вернутся чуть назад и завершить путь спуском Иографа. Вроде бы он должен быть самым простым спуском с Ай-Петри в сторону Ялты. Серпантинный спуск по боку горы, с постоянным обрывом с одной из сторон - красота! Единственный минус - в конце свернули не туда. В прогнозах были каменные ковырялова и ступени, а мы получили лесные пожарные дороги..

Ну и в завершение дня предстояло добраться до машины, оставленной у канатной дороги. А это всего то апхил с Ялты до Кореиза, на который сил уже не осталось, вообще. Местами я даже идти не мог.. Пичаль. А на машине этот участок за 17 минут преодолевался.. Не легка судьба велосипедиста :)

Три дня, три приключения

29 April 2013

После Буковели стало ясно, что даунхилл без прикатки - пустая трата времени. Едешь, ползешь, абсолютно не зная чего ждать. А уклон тянет, заставляет ехать быстрее чем позволяет восприятие. Не айс. Три дня прикатки с подъемниками вполне себе исправляют ситуацию. Ездить конечно научится я так и не научился, но уверенность на одной трассе появилась. И вот выпала возможность покататься в Крыму с авто-подъемниками. Ребята из FRaction решили провести всем раскатку перед сезоном и организовали гоночные сборы. Которые, забегая вперед, прошли просто замечательно. Свободная атмосфера без борьбы за первые места понравилась всем. Более подробно можно почитать в отчете организаторов.

Все три дня поучаствовать в планах не было, но хотя бы два откатать хотелось. Вмешался случай, и вроде бы не затейливая поездка в Балаклаву покататься вылилась в три дня крутилова по горам. И это замечательно! Предварительная программа выглядела так: первый день - Балаклава, второй день - Бахчисарай-Высокое-Соколиное, третий день - Соколиное-Машино. И домой. Тем самым захватили даунхилл, олл-маунтайн, и даже кросс-кантри! :)

Последний раз дорогу на Бочку (трасса в Балаклаве) я совершал на даунхильном Iron Horse Sunday. Как раз тогда получив последнюю каплю издевательства над собой. Крутил и померал всю дорогу до города и обратно (17км/30км), шел пешком в горку по казалось бы накатистому асфальту. Да и на самой Бочке как-то не успел извлечь всего смысла длинноходного велосипеда. Совершенно другое дело - короткоход. Некогда изнуряющая асфальтная дорога показалось коротким разогревом перед горами. Как же хорошо, что я всё же решился на замену велосипеда.

Утро началось хорошо. По мороженому, под солнышком на набережной Балаклавы, и в бой! На набережной, кстати, собралось большая толпа рыбаков. Очень удивляло почему они все такие сидят вплотную в одном месте. При ближнем рассмотрении, оказалось на дне залива плавали просто целые потоки рыбёшки. Завораживающие зрелище. И чем дальше в залив, тем этот бурлящий слой глубже.

К сожалению, пяти спусков мне было мало для того что бы хоть чуток привыкнуть и расслабится на трассе. Ехал на тормозах, панически объезжая вылеты. В первый спуск сделал черезрульку в контруклоне. Не упал - не покатался, как говорится. На следующем спуске забыл про пулялку в поле, и таки улетел на ней дальше чем видел. На удивление, приземление было вообще не заметно. Велосипед в горах ведёт себя совсем иначе. Отмучившись, укатили на перехват к электричке. Дорога в закатном солнце под убаюкивающее стучание рельс.. Мм.. Класс!

На следующий день компания менялась, встретили коллегу с поезда, и словили электричку в Бахчисарай. Оттуда предстояла дорога на Тепе-Кармен, далее мимо Машино, и по горам до Высокого и далее в Соколиное. Маршрут я знал крайне расплывчато, и что-то не ожидал что прям по приезду в город начнётся километров семь подъема, с набором почти 400 метров. Но ничего, покатушка прошлой недели вполне к такому подготовила. К нашему счастью мы не решились карабкаться на Тепе-Кармен, а объехали её сбоку, найдя весьма бодрый спуск с обратной стороны горы к полям. Далее вмешалась природа - дорогу на карте размыло рекой, пришлось искать объезд. Лишние 10км не крюк для бешеной собаки :) Очень не хватает двух звезд спереди, крутить педали со скоростью пешехода может и тошнилово, но сил уходит куда меньше и не нужно переключатся с ходьбы..

Посветлу завершить маршрут мы так и не успели. Набрали воды в родниках возле купельни храма Св. Луки, и двинулись в солнечную закатную дорогу. Романтика.. В сумерках мы поднялись в Высокое. Кстати, всё это время нам по пути попадались маркировки маршрутов. Красный, синий, зеленый и желтый, собственно в таком порядке. И вот как наступила ночь, поднявшись на высшую точку, мы плюнули на все эти маршруты и занялись дендробайкингом. Четыре фонаря, пять ездоков, и вниз через поля и леса, поперёк дорог. Экшон! Видами полюбоваться не удалось, но ночные покатушки - штука ещё более редкая. Ближе к восьми вечера мы добрались в Соколиное, по ужинали лагманами и мантами, и довольные и адски уставшие покатили дальше искать дом где заказывали ночлег. Домики в стиле Маша-и-Медведи, хорошее место.

<img alt="" src="http://home.neravaren.com/files/share/images/20130413.jpg"" style="width: 386px; height: 487px;" />

Самая сложная часть маршрута, как мне казалось раньше когда строили планы, оказалась очень даже легкой. По асфальту утром докрутить из Соколиного обратно в Машино и успеть на регистрацию гонки. Ох, после целого дня горного апхила, по асфальту не просто ехалось, а аж летелось! Вместо семи с половиной часов дороги через горы, ушло всего три с мелочью на асфальтовый вариант. Но к предполагаемому времени завершения регистрации мы конечно не успели :) Повезло, организаторы её продлили аж до самых стартов категорий. Погода медленно ухудшалась, и к началу гонки пошел сильный дождь.. Грязевое кантри! Йее! Кантрийцы вообще смешные люди, крутят конечно хорошо, но вниз ездить не умеют :) Коллега половину гонки снимал на экшон-камеру (пока та не отключилась), и на спусках в кадре начинался просто цирк. Ребята ставят ножки в растопырку с педалей, чуть проедут и кувырк в кусты :) И так поголовно.

IMG_8048 WTF Racing

Наши ребята откатались, а дождь и не думал останавливаться. Предстояла мокрая дорога домой :) Отмылись в ближайшей реке от всей земли, и довольные двинулись в путь. Ждать полтора часа в здании вокзала как-то не грело, посему пошли искать чем бы согреться. Выбор пал на массандровский "Ай-Серез", вкусная штука. В магазине горячительного был встречен мужчина, который дружелюбно позвал в чебуречную находящуюся рядом :) На вопрос можно ли нам таким грязным, был получен положительный ответ. Хех, с нас аж капала земля :D Включили для нас кондиционер специально, приятно :) Стандартно закинулись лагманами. А тем временем уже пора на электричку, домой.

IMG_7821 Misty Mountain

Итого было навернуто: 5 спусков по даунхильной трассе Бочка, 34км Инкерман - Балаклава - Инкерман, 42км Бахчисарай - Тепе-Кермен - Машино - Лаки - Высокое - Солнечноселье - Соколиное, 49.28км Соколиное - Куйбышево - Сирень - Машино - Бахчисарай, и ещё два круга по 9км на кросс-кантри гонке!

Малита, sqlite и танцы с бубном

21 April 2013

Количество малины растет! Основной домен теперь бегает под отдельной малиновой коробочкой :) Но оказалось влияние скорости флэш-памяти куда более серьёзное, чем предполагалось сперва. Запросы к базе стали выполняться почти раза в два медленней. Удалось к этому докопаться благодаря сохранению профайла через XDebug. А спасение производительности было возложено на все возможные способы кеширования. Йеах!

Байдарская долина и пригород

15 April 2013

С появлением вездеходного велосипеда, желание изучать дальние уголки Крыма только сильнее обострилось. Первая внезапная правильная горная поездка в Судакскую область сменилась не менее внезапной второй поездкой за Балаклаву. Пол часа на решение и вечер на приведение велосипеда в порядок - и можно отправляться в бой! Маршрут предстоял радиальный - откуда выехали, туда и вернулись. Очень удобный вариант, кстати. А по скольку на местности не ориентировались, возвращение к точке старта оказалось внезапным чуть более чем полностью.

Собрал интересные участки спуска, с парой элементов подъема в видео выше. Оочень душевная местность, чистая природа, перебегающие дорогу олени.. Встретили лесника, который нас ругал за то, что мы отошли от туристической тропы. Итог за день: Родниковское - Россошанка - Перевал Бечку - Урочище Ай-Дмитрий - Узунджинский каньон - Родниковское - 28,46км / 11,2кмч / 43кмч. Как раз тот случай, когда километры в расстояние - отнюдь не такие километры как кажутся. По приборам товарищей накрутили 650 метров набора высоты, что без подготовки было весьма сложно осилить. Сразу напрашивается апгрэйд велосипеда на две звезды спереди..

Следующим испытанием была по началу невинная поездка в выходной покататься по пригороду. А не тут то было. Выносливости товарищей хватило на то что бы накрутить 52 километра. И это то при ширине города где-то в 11 километров. Маршрут: Центр - Фонтаны - Таш-Джарган - ДхТрасса - Залесская - Залесье - Курцы - Водохранка - ДхТрасса - 51-Армии - Набережная - Центр / 52км.

TinyTinyRss на страже новостей

21 March 2013

Не так давно Google всех опечалила новостью о предстоящем отключении сервиса Google Reader. Второй из трёх всегда открытых у меня сайтов. Зря они.. зря. Ну да ладна. Весь интернет сразу же заполонили обзорами и альтернативами, сервисами, платными вариантами и self-hosted скриптами. Конечно же выбор пал на последнюю категорию. Лучше уж сразу привыкнуть к новой программе и держать у себя все базы и копии, чем опять потом искал альтернативы при помирании следующего сервиса.

<img alt="TTRSS" src="http://home.neravaren.com/files/share/images/ttrss.png"" style="width: 503px; height: 316px;" />

Завелось в принципе легко и быстро, фиды импортировались успешно и свежие новости посыпались. Но нет ничего идеального - привычного режима разворачиваемого списка как в Google Reader'е тут нет, и для Raspberry постоянная работа с базами и параллельными вэб-запросами слегка сложна.

Но тут на помощь приходит ччччииииилавек-программмист! Всё это счастье поднялось на nginx вместо громоздкого apache. К php были доставлены модули кэширования. В планах ещё mysql перевезти на usb-flash накопитель, думаю он будет по быстрей чем встроенная и без того гоняемая sd-карточка. Далее в код. Покалупав скрипты, было выявлена пачка лишних дублирующихся запросов, а интерфейс сайта начал обрастать кнопочками для сворачивания и разворачивания списка.

В файле "js/viewfeed.js" функция cdmClicked посылает запросы пересчета прочитанных сообщений, даже если оно уже прочитано. Нелогично. А ведь каждый запрос жевал секунды две-три, и задерживал очередь.

function cdmClicked(event, id) {
   try {
... 
//было
   if (article_is_unread) {
      decrementFeedCounter(getActiveFeedId(), activeFeedIsCat());
   }
   var query = "?op=rpc&method=catchupSelected" +
      "&cmode=0&ids=" + param_escape(id);
   new Ajax.Request("backend.php", {
      parameters: query,
      onComplete: function(transport) {
      handle_rpc_json(transport);
   } });
... 
//стало
   if (article_is_unread) {
      decrementFeedCounter(getActiveFeedId(), activeFeedIsCat());
      var query = "?op=rpc&method=catchupSelected" +
         "&cmode=0&ids=" + param_escape(id);
      new Ajax.Request("backend.php", {
         parameters: query,
         onComplete: function(transport) {
         handle_rpc_json(transport);
      } });
   }
...

По началу пытался писать отдельный плагин, но что-то не срослось. Плагины вроде классная вещь, можно менять контент фидов, их отображение, добавлять скрипты и прочие. Но мне нужны были кастомные кнопки. Может быть позже разберусь как это дело делать. А пока они вживлены в сам сайт. Файл "classes/feeds.php".

//было
$reply .= __('Select:')."
    <a href=\"#\" onclick=\"$sel_all_link\">".__('All')."</a>,
    <a href=\"#\" onclick=\"$sel_unread_link\">".__('Unread')."</a>,
    <a href=\"#\" onclick=\"$sel_inv_link\">".__('Invert')."</a>,
    <a href=\"#\" onclick=\"$sel_none_link\">".__('None')."</a></li>";
$reply .= " ";
//добавлено
$reply .= "/ Collapse: ";
$reply .= "<a href=\"#\" onclick=\"$$('div.cdmContent')."
                ."each(function(item){item.hide()})\">Close all</a>,
           <a href=\"#\" onclick=\"$$('div.cdmContent')."
                   ."each(function(item){item.show()})\">Open all</a>";
$reply .= " ";


© Oleksiy Tishyn 2018