Грузия. Часть 1. Тбилиси. Гори. Уплисцихе. Мцхета

В начале этого года долго думали куда поехать в отпуск, в Турцию нельзя, в Египет тоже. Узнав, что подруга жены собирается в Грузию в одиночестве, очень захотелось туда (не подумайте чего такого… хотя не — думайте ;). Успешно напросившись к подруге баластом, в сентябре полетели в Грузию.

Скажу сразу: «Вах» грузины говорят редко, только когда я просил или когда авария на дороге. Кепка-аэродром не носят, нос у грузин поменьше моего. В общем, анекдоты в качестве туристического справочника не вариант.

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

Грузинское гостеприимство действительно существует, это не миф. В первый день прогулок в Тбилиси в первом же ресторане нам презентовали бутылку шампанского в подарок от фирмы как только узнали, что мы из Петербурга, который грузины до сих пор настойчиво называют Ленинградом.

На следующий день мы поднялись на фуникулере в горы к телевизионной вышке и колесу обозрения. Надо сказать, что вышка внушает лёгкий трепет своими размерами, ржавчиной и монументальностью. Она выгодно смотрелась бы в фильмах «Сталкер», «Безумный Макс» или «Киндзадза». Наверху есть парк аттракционов, чисто наш ЦПКиО. В будний день без детей там делать особо нечего. Проезд на фуникулере стоит два лари в одну сторону. Виды открываются великолепные, особенно с колеса обозрения.

После спуска на фуникулере зашли в маленький магазинчик с алкоголем и чурчхелой. Какой-то мужик показывал продавцу настоящую чачу в бутылке: «Видишь как пузырьки держаться долго. Это настоящая чача». И тут мне очень захотелось попробовать чачу прямо на месте и я спросил: «Вы продаете чачу стопками? Чтобы вот так ХЛОП и пошёл дальше гулять». Продавец ответил отрицательно, а мужик сказал: «Хочешь чачу? Пойдём со мной!» и отвел меня в свой подвальчик, где от души налил чачу в глубокую посуду. А меня никто за язык не тянул. Налили — пей. Выпил, крякнул, занюхал рукавом, сказал «Спасибо!» и метнулся на свежий воздух, на улицу, пока не предложили ещё.

Вообще, мы проделали этот долгий путь в Грузию, чтоб славно пожрать посетить ресторан Veliaminov, про который подруга жены слышала много хорошего еще в Петербурге. Забурившись в ресторан взяли хинкали, салаты всякие, прочую закуску и литровый графин красного домашнего вина, который принимали неспешно маленькими дозами до тех пор, пока с нами не познакомились три престарелых грузина и вино полилось рекой. Последний графин, который я помню, был вроде бы пятым. Хитрые грузины тост говорят, нам подливают, бокал поднимают, а сами не пьют. Глаз да глаз, короче, нужен. Надо отдать должное нашим новым друзьям — видя наше состояние нестояния (идти могли не все) — вызвали и оплатили такси. За что огромное им спасибо!

Очнувшись утром, снова поперлись в горы, к матери Картли. Разумеется, канатной дорогой мы пользоваться не стали. Девушки-то крепкие все, а мальчик слабый. Пошли пешком — всего 100500 ударов моего сердечка ступеней и мы наверху. Если бы не ступеньки и подъем вверх, в горах хорошо. Наверху был в состоянии кунфу Панды из известного мультика.

Спустились в ботанический сад с обратной стороны, дошли до водопада, помочили ножки и стали бродить по саду в строгом соответствии с указателями. Будете в ботаническом саду Тбилиси — указателям не верьте — они врут. Написано «Розариум», а там закрыто, написано «Туда ходи — там все есть» — тоже ничего. Вечером дома выяснилось, что ботанический сад купил какой-то хороший человек и будет виллу себе там делать.

Кстати, про вечер: в Тбилиси мы остановились в местечке под названием Montini House и здешний хозяин по традиции угощает шашлыком всех гостей. Мясо готовит без маринада, что удивительно, поскольку вкус мяса великолепен. Перед ужином мне предложили на выбор чачу: для взрослых (70 градусов) и детскую, что в хэппи мил кладут (50 градусов). Я мальчик уже большой, выбрал конечно же покрепче и пожалел о своём выборе буквально после пары стопок, когда стал терять ориентацию в пространстве. Дамам было предложено белое домашнее вино, на которое я переключился после четвертой стопки чачи. Потом был шашлык, салат, грузинский хлеб из тандыра — все вкусное, свежее — большое спасибо!

На рассвете наступила расплата за крепкую чачу и смешение напитков. Кое-как, на бровях дополз до душевой и сортира, где, насколько это возможно, привёл себя в порядок и взбодрился. Хочу заметить, что наш белый друг тут не в ходу, только дырка в полу. Как в Японии, короче. Коничива, аниме и прочий хентай — ну вы знаете.

Рано утром, часов в двенадцать, собрались в Гори. До Гори идёт маршрутка от станции метро Didube. Метро в Тбилиси темноватое, эскалатор движется быстрее, чем в Петербурге, двери вагона открывают до полной остановки поезда. Самые ловкие выпрыгивают практически на ходу. Проезд по карточке, стоимость 50 тетри (14-15 рублей).

Теперь про маршрутку до Гори: она быстрая, несется по левому ряду со скоростью 120, имеет три штатных сиденья в ряд и одно раскладное в проходе, всего четыре места в ряду — ну чисто Боинг. По закону подлости нам достались именно эти особенные места. Слева на меня периодически падал сонный мужик, сзади в позвоночник впивалась барби-сайз спинка сиденья, а внутри шла борьба чачи с вином в поисках выхода. Наивные пассажиры даже не догадывались от чего я их героически спасал всю дорогу.

Побывали в музее Сталина в Гори. Посмотрели где Сталин родился, чем дышал, как жил. Вообще, очень странно в одной стране иметь музей Сталина и Советской оккупации — попахивает шизофренией (вы или крестик снимите, или трусы наденьте).

Потом поехали в место под названием Уплисцихе. Там в скалах раньше жило до двух тысяч человек. Материал скалы — песчанник, очень удобно решать квартирный вопрос: взял зубило и молоток, поработал руками и вот тебе новая комната, кухня, ванная с джакузи, гараж на три машины. Никаких ипотек и кредитов на миллион лет.

Вернулись обратно в Тбилиси и утром следующего дня отправились в Мцхету — небольшой городок, где находится древнейший храм в Грузии. Кстати, грузины православные христиане, поэтому намаз, Курбан-Байран, минареты — это не про них. Нагуляв аппетит, занялись поиском съестного в округе. Нам порекомендовали заведение «Салобие», но навигатор сказал, что до него целых пять километров в обратную сторону топать, поэтому мы поехали на автовокзал с целью найти пропитание на месте.

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

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

P.S. Фотографии добавлю позже, извините, в Чакви интернет очень плохой. Следите за обновлением блога. Скоро будет вторая часть.

добавить комментарий
Южная Корея. Сеул. Командировка

Неожиданно оказался в Южной Корее в командировке. Первый раз побывал в Азии, поэтому впечатлений вагон и маленькая тележка.

Скромный офис LG в Корее

Вообще, в Корее у меня много чего произошло в первый раз (гусары — молчать). В первый раз я использовал разговорный английский для ежедневного общения, первый раз я пользовался палочками для еды, а не баловства, первый раз летел на самолете более четырех часов, первый раз платил карточкой за границей, первый раз летел на самолёте без жены (с женой однозначно лучше).

Во-первых, погода жаркая и влажная. Днем +36, ночью +26. Постоянно хочется выйти из этой парилки на улицу, но ты уже на улице. Ободряющий ветерок тоже влажный и горячий, поэтому облегчения не приносит. Подул освежающий бриз — это не про Сеул. И дождь, зараза, тоже тёплый.

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

Для начала хочу рассказать про сеульское метро. Вот простая и понятная схема:

Южная Корея. Сеул. Карта метро

Чтобы попасть на нужную станцию надо сначала рассчитать маршрут, затем приобрести карточку на одну поездку до нужной станции. Стоимость проезда от 1450 вон по простой линии и 2250 по линии, где нет машинистов. Карточка стоит 500 вон, которые можно вернуть — отдав карточку специальному автомату после поездки. Выход из метро тоже по карточке. 

Ихние воны в наши баксы переводятся просто: тысяча корейских вон равна одному доллару.

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

Телевидение Южной Кореи

А ещё после окончания местных новостей по телевизору дикторы кланяются сначала зрителям, потом друг другу.

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

И, кстати, о еде — перед поездкой меня предупреждали, что еда в Корее очень острая и жжет два раза, если вы понимаете о чем я. На самом деле нет. Самое острое, что мне попалось — это Spicy Beef Soup, который я заказал и попытался съесть сразу по прибытию для полноты ощущений. Попытался, но не смог. Думал сдохну, но обошлось. Так что теперь я и дальше смогу вести этот блог.

Еда в Южной Корее

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

добавить комментарий
Настенная патч панель. Наводим порядок с локальной сетью

Решил навести порядок в своей серверной (на самом деле пыльный угол в чулане).

Туда приходят провода локальной сети, телевидения и оптоволокно. Локальная сеть из одиннадцати проводов, телевидение — восемь. Каждый провод в своей гофре. В итоге всё это торчало из стены как Змей Горыныч о двадцати головах. Выглядело это дело вот так:

Серверная в чулане

Для локальной сети надумал и купил настенную патч панель с передним разводом проводов (модель LY-PP5-48). С виду добротный металлический девайс, размерами 28x8x4см и весом в кило с лишним.

Такая панель имеет съёмную переднюю крышку для монтажа витой пары:

Патч панель LY-PP5-48 со снятой крышкой

Монтаж производится с помощью обычной отвертки с тонким плоским жалом или специальным устройством для разводки витой пары. Такого устройства у меня не было, а тратить семьсот рублей для разовой работы совсем не хотелось. В то же время нужно было сделать все красиво и на века. Так что устройство для монтажа взял у знакомого админа (спасибо, Олег!). Устройство загоняет провод в паз и автоматически отрезает лишнее:

Устройство для заделки витой пары

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

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

Патч панель LY-PP5-48. Разводка верхнего ряда

Затем нижний ряд (четные номера):

Патч панель LY-PP5-48. Разводка нижнего ряда

Вот такой получился результат (для первого раза вполне неплохо, я считаю):

Финальный вид серверной

Слева направо: гигабитный свитч D-Link, WiFi роутер Zyxel Keenetic, сервер HP Proliant и оптоволоконный (прости, Господи!) Huawei роутер от «Ростелеком».

Осталось спрятать провода в симпатичный кабель-канал и сделать что-то с телевизионными проводами.

Спасибо за внимание, заходите еще!

добавить комментарий
Описание формата ZIP файла. Поддержка больших (>4GB) файлов. Расширение ZIP64

Давным-давно, когда создавался формат ZIP и всем хватало 640KB памяти, никто не задумывался, что файл может быть >4GB и содержать в себе больше 65535 элементов, поэтому поддержка таких объемов прикручена костылями и называется ZIP64. До сих пор этот формат плохо понимают Far Manager, 7-Zip и проводник седьмой винды (а говорят, что в Microsoft берут только гениальных программистов, возьмите меня, я умнее, чем выгляжу).

Расширение ZIP64 добавляет две основные фичи:

  • структура ZIP64 End Of Central Directory Record (EOCD64) с 64-битными полями и ZIP64 End Of Central Directory Locator для поиска структуры EOCD64
  • если значения некоторых полей Central Directory Header и Local File Header превышают максимальный, то эти значения записываются в Extra Field этих структур в специальном формате ZIP64 Extended Extra Field

А теперь подробнее про эти нововведения.

(далее…)

добавить комментарий
Школа аргентинского танго «Палома» в Петербурге

Всем привет!

Граждане, худеющие к лету, господа «завтра точно пойду побегаю» и прочий офисный планктон, внимание! Найден способ держать свою тушку в хорошей форме и кушать чаще и лучше, чем прежде.

Это аргентинское танго! Смотрите видео (Mauro Caiazza и Carolina Giannini):

Встретиться взглядом, улыбнуться, подойти, обнять — вот это всё.

Я человек циничный, чувственность мне чужда, поэтому сразу скажу в чём конкретная польза этих занятий: выправляется осанка, походка ваша станет лёгкой и приятной на ощупь, развивается чувство равновесия и превосходства, уходит страх перед танцем с незнакомой красавицей. Со знакомой красавицей тоже.

Зажгите танцпол, в конце концов!

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

Если у вас уже есть какой-то опыт и навыки — не беда: есть группа продолжающих.

Толстые, худые, спортивные или рохли, высокие и низкие — комплекция и рост не имеют значения, красиво танцевать может каждый!

И напоследок, аукцион невиданной щедрости: приведи подругу и получи в подарок партнёршу для танцев, если вы девушка — приведи друга и получи партнёра для танцев. Всё просто!

Территориально занятия проходят по адресу: м. Чернышевская, ул. Шпалерная, д. 50А (в зале гимназии «Альма Матер»).

Контакты для связи:

Сайт «Палома танго» находится в процессе разработки и оптимизации, так что не пугайтесь. Уверяю вас — Ася гораздо лучше танцует, чем программирует эти ваши WordPress с PHP. (:

Разумеется, пост рекламный и щедро проплачен, на самом деле нет.

добавить комментарий
Рисуем сферу с помощью двух треугольников

Сфера в трехмерной графике обычно состоит из сотни-другой треугольников, при этом половина из них не видна человеку, поскольку их отсекает face culling и/или zbuffer.

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

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

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

(далее…)

добавить комментарий
Освещение куба с помощью WebGL. Модель освещения Blinn-Phong

Всем привет!

Изначально тут должна была быть статья про кубик льда с отражением окружающего мира (Environment Mapping) и бликами (Specular). Но в процессе подготовки материала неожиданно пришло понимание непонимания бликов и моделей освещения.

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

Для затравки покажу результат, а потом объясню, как это все работает (можно отключать разные слои освещения и менять скорость вращения):

(далее…)

добавить комментарий
Первые сорок лет в жизни мальчика — самые сложные
Юмор

Намедни решил собрать самолетик по мотивам поста: F-15 . Покажи школоте свое место в классе =).

Ожидание:

Процесс:

Реальность:

Во время сборки смотрел эту видео-инструкцию, но толку мало:

Вывод: однозначно виновата толстая бумага. (:

добавить комментарий
Установка и настройка дистрибутива Python в режиме portable под Windows

Установка Python

  1. Скачать инсталлятор в формате MSI отсюда: https://python.org/downloads/
  2. Установить полученный дистрибутив <python.msi> в папку <INSTALLDIR> командой:
    msiexec /a <python.msi> /qn TARGETDIR="<INSTALLDIR>"

    , где /a — команда на установку с админскими правами, /qn — не задавать лишних вопросов, TARGETDIR — конечная папка

Установка Python Package Index

  1. Скачать файл getpip.py: https://bootstrap.pypa.io/get-pip.py
  2. Установить pip командой:
    <INSTALLDIR>\python.exe getpip.py
  3. Теперь любые пакеты можно устанавливать командой:
    <INSTALLDIR>\Scripts\pip.exe install <package name>

В итоге у вас есть обособленный Python интерпретатор любой версии с любыми пакетами в комплекте.

Также у вас есть возможность запускать *.py файлы с помощью установленного дистрибутива по клику мыши. Для этого вам понадобится PyLauncher.

Установка и настройка PyLauncher

  1. Скачать и установить pylauncer отсюда: https://bitbucket.org/vinay.sajip/pylauncher/downloads
  2. Открыть/создать файл %LOCALAPPDATA%\py.ini и добавить строку:
    [commands]
    mypython=<INSTALLDIR>\python.exe
  3. Добавить/поменять первую строку запускаемых *.py файлов на такую:
    #!mypython

    Теперь при запуске этих файлов их будет обрабатывать ваш интерпретатор (<INSTALLDIR>\python.exe)

Как это работает?

Первая строчка в формате #!<program name> используется в *nix подобных системах для автоматического выбора интерпретатора во время запуска и называется она, кстати, «shebang». В Windows системах эта строка игнорируется. PyLauncher просто перехватывает обработку *.py файлов и вызывает правильный Python интерпретатор.

добавить комментарий
Используем FreeType для вывода строки

Продолжаем наши посиделки с библиотекой растеризации шрифтов FreeType. Из предыдущих моих постов вы уже должны знать какими способами можно выводить текст в OpenGL и как получить изображение символа из шрифта с помощью FreeType.

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

По вертикали у строки есть три основных параметра:

  • базовая линия (baseline) — это ноль по вертикали в нашей системе координат. Символы позиционируются по вертикали относительно этой линии
  • верхняя граница (ascender) — это верхняя горизонтальная линия, которую (теоретически) не пересекает ни один символ в строке (в нашей система координат ее вертикальная позиция имеет положительное значение)
  • нижняя граница (descender) — это нижняя горизонтальная линия, которую (теоретически) не пересекает ни один символ в строке (ее вертикальная позиция имеет отрицательное значение)

Для нашей задачи нам достаточно лишь базовой линии.

Sphinx
автор картинки: Max Naylor

(далее…)

добавить комментарий