10 июля 2011 г.

Ground Effect

Зима - самое благодарное время для авиаторов Австралии. Несмотря на холод, погода почти всегда стоит ясная. В последнее время, правда, становится уж очень ветрено - сегодня давали до 40км/ч. В любом случае я не летаю, посвящая время решению земных проблем. Эх, и когда эти проблемы уже кончатся?

Самое главное что удалось сделать - организовать практический тест цветовосприятия. Он состоялся в понедельник, 4-го июля. День независимости США. Просто совпадение, на предзнаменование не тянет. Где-то за пару недель до этого я связывался с местным офисом CASA (расположенном на территории аэропорта Bankstown), где меня проинструктировали по поводу дальнейших действий. Отправил им ответ CASA на тест Фарнсворта, мне прислали форму и бланк для оплаты 130 долларов за Light Gun Test. Сделал, сижу жду звонка.

Где-то в начале позапрошлой недели позвонил инспектор (Flight Operations Inspector) по имени Дэниел Мартин, договорились на 17:30 4-го июля. В выходные было нельзя, так что пришлось уходить с работы в 15:00, 50 минут ехать на поезде и еще где-то столько же идти пешком до офиса CASA. А что, погода была теплой, впереди закатное солнце, небо ясное, чего же не пройтись? По пути в парке увидел выброшенную плазменную панель. Зажрались там совсем.

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

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

Процедура такая:
1. Нас отвозят на отметку 300м от вышки.
2. Вышка дает световой сигнал длительностью 5 секунд.
3. Я записываю что видел в бланк.
4. Пауза 3 минуты.
5. Снова шаг 2. Всего три сигнала.
6. Переезжаем на отметку 500м.
7. Повторяем ту же процедуру.

Дэн вызвал аэродромную службу и попросил предоставить машину. Ту самую, с оранжевыми мигалками, кои ездят по летному полю. Пошли наружу, к воротом аэропорта, дождались машины, и поехали кататься по рулежным дорожкам.

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

По пути водитель вдруг остановился, вылез и машины и подобрал с земли отлипший светоотражатель. Внимательный какой. Дальше проехали мимо вышки на рулежную дорожку Papa. Это такая дорожка, куда никто не заезжает. Я ее использовал пару раз, когда оставлял там инструктора и совершал одни из первых самостоятельных кругов. Вот там и находится отметка 300 метров.

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

Я вышел из машины, несмотря на холод и пронизывающий ветер. Лучше иметь чистое пространство между глазами и источником света. Пусть для этого и придется простудиться. Дали свет. Белый. Но, какой-то желтоватый. В результате многочисленных проверок зрения я уже сам не верил своим глазам. В белом мерещился зеленый, в желтом - красный. Решил пока не записывать результат, посмотреть что будет дальше, может, покажут что-то, что будет однозначно зеленым. Через три минуты показали зеленый. Тут уж сомнений не было. В третий раз показали снова белый. А чего красный не показывают? Или то был не белый? Да, вроде, белее некуда? Глаза, не верю я вам. Записал белый.

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

Вышли из машины, Дэн взял у меня бланк, достал из кармана бумажку, куда записывал то, что видел сам. Сравнили. Оказалось, что все совпадает. Я еще до теста спросил не было ли у него той же проблемы, что и у меня. Нет. Значит, все нормально. Видимо, да, но надо дождаться официального ответа CASA, на что уйдет еще пара недель. Будем надеяться.

Интересно, а откуда он знает правильные цвета? Он ведь вышке не говорил каким цветом светить. Где правильные ответы брать? Подозреваю, что для этого как раз и был предназначен тот третий человек, имени которого я не помню. Он сидел на заднем сидении и заполнял такой же бланк, что и я.

Немного еще поговорили с Дэном, он зачем-то дал свою визитку, попрощались и я ушел. Зачем бы мне вдруг понадобилось связываться с инспектором CASA? Этих визиток уже пачки дома лежат, приходится выбрасывать время от времени.

По пути до станции решил позвонить Тони, рассказать что да как и спросить что лучше делать дальше. Хотя, кого я обманываю? Я уже давно решил что буду делать, а Тони мне нужен был только для проверки возможности это проделать. Хотя, были некоторые колебания - переходить к программе CPL или выпендриться и сделать жизнь интереснее получив допуск к многомоторным машинам? Тони от последнего варианта мягко отговаривал, хотя и без нажима, дескать, сам выбирай. "Значит, сапоги хорошие, надо брать". Хочется немного разнообразить полеты, пусть это и будет преждевременно. После GFPT я мигом пересел на Arrow, получив допуск к полетам на машине с изменяемым шагом пропеллера и убирающимся шасси. Сейчас же, считая, что PPL я все равно получу рано или поздно, чтобы не терять время в ожидании, почему бы не освоить Seminole?

Такие мысли лезли в голову пока шел домой. А я-то раньше удивлялся историям как дети ходили в школы за 7 километров. Да можно, вполне можно ходить на такие расстояния. Туда-обратно получилось километров 8,5. Ничего так, терпимо.

В четверг позвонил Билл и договорился об экзаменационном полете 24-го июля. Это развязало мне руки и я начал искать инструктора на многомоторник. Тони не мог, у него такого допуска нет. Билл предложил Эшли, но тот оказался занят на 4 недели вперед. Еще варианты: Ник Печ, Конрадо и Салах. Последних двух я забраковал по причине сильного акцента. В воздухе только с этим проблем не хватало. До Ника дозвонился с трудом, разговор оказался быстрым, он куда-то спешил. Да, он может полетать со мной, но предупредил, что летает на Beechcraft Duchess, которого клуб арендует у кого-то другого. А вообще, пообещал перезвонить в пятницу.

Обещания по состоянию на 3 часа дня не сдержал, поэтому я накопал еще одного кандидата - Jeffrey Swain и позвонил ему. Встречаться с этим инструктором мне приходилось и раньше, но дальше пары дежурных фраз дело не заходило. Вообще, он мужик довольно общительный и с некоторыми странностями. Был случай, когда я после одного из самостоятельных полетов, как обычно зарулил на стоянку, выключился, и стал собирать вещи, а Джеффри, прилетевший раньше меня и стоявший справа, взял да и пришвартовал мой самолет. Спасибо, конечно, но я и сам бы это сделал.

Джеффри сказал, что время у него есть, через две недели, воскресенье целиком. Я поинтересовался удобно ли ему по воскресеньям летать, но он ответил, что он инструктор не постоянный, а вообще, он - машинист поезда CityRail. Так что выходные, вроде, не проблема. И тут же забронировал один слот на Piper Seminole 17 числа. А перед ним - два слота теории. Ну вот и хорошо. Хотя, я надеялся полетать уже на этих выходных, но там все было забито и давали ветреную погоду, так что отбой.

Вот еще интересный момент: когда я звонил в клуб узнавать кто из инструкторов летает на двухмоторнике, на фоне был слышен звук дрели. Ремонтировать дрелью в клубе нечего, но зато я знал, что в конце июня нам должны были доставить новый симулятор. Сопоставив эти факты получаем вывод: доставили и устанавливают. Ибо что же это еще может быть? Любопытно было бы посмотреть.


Все, больше ничего авиационного не случилось. Зато освободились выходные, которые дурная голова всегда чем-нибудь да займет на радость ногам. Еще около месяца назад мне доставили из Гонконга внушительный шестикилограммовый алюминиевый ящик, в каких обычно плохие парни из дешевых боевиков переносят или какую-нибудь пушку, или ядерную боеголовку. Но в нем был радиоуправляемый вертолет KDS 450SV (хотя я всем говорил, что таки да, там боеголовка). Пока не освободились выходные я не имел возможности его испытать. Но теперь...

Выхожу с ящиком из станции Central и иду примерно километр на восток. Там начинается Moore Park. Я давно заприметил эти большие и относительно пустые зеленые поля. Отмотав еще километра три по их периметру подбирая место побезлюднее, остановился на школьном поле. Там почти никого не было, только пара человек выгуливали собак. И летала стайка розовых какаду, которые, как только я запустил вертолет, начали удивленно на него смотреть, подняв хохолки.

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

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


Меня еще некоторое время волновал вопрос: что подарить Тони, когда получу PPL? Местных традиций я не знаю, кажется там то ли виски надо проставить, то ли что... А я в этом деле не спец. Потом еще выясню что от меня ожидается. Но помимо этого хотелось подарить что-то, что бы напоминало обо мне. И решил подарить миниатюрную металлическую модель Ту-154. Нашел в интернете, заказал три модельки масштаба 1:200. Две Ту-154, одну Ту-134. Прислали аж из Сан-Диего. Вот они:




Вот его я отдам Тони. К сожалению, нигде не удалось найти старую аэрофлотовскую раскраску. Ну, пусть хоть такая будет, тоже немного родная, отечественная. А себе оставлю вот эти:






Все-таки для макросъемки нужен специальный объектив. Ну, не покупать же его ради этих самолетиков. Как видите, модели не совсем точные, но большего от них ожидать не стоит, ибо они очень маленькие. Длина Ту-154М составляет 48 метров, при масштабе 1:200 получаем 24 см. Зато вес солидный, они собраны из литых металлических частей. Что за металл не знаю, по весу - чугуний.


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

Что же про нее сказать-то? В настоящее время я работаю над проектом мобильного web-приложения для Vodafone. Использую технологии JSP, Spring MVC, JAX-WS, Axis2 и, будь он проклят, WNG. По сути-то ничего особо сложного там нет, если бы не те web-сервисы, с которыми приходится работать. Они разработаны огромной индийской компанией TCS на основе Oracle Fusion, и, как следствие, не работают. Они хоть и имеют спецификацию, но там непонятно каких данных от нас ждут и какие гарантированно будут нам возвращены. Доступа к самому Fusion у нас нет, вместо него пришлось делать симулятор на SoapUI. Я уже второй месяц говорю, что когда при тестировании дело дойдет до реального Fusion, это все накроется медным тазом. Через неделю мои слова подтвердятся, как пить дать. Ну да ладно, мы сделали все, что могли, и не наша вина в том, что нам не дали реальной системы. Чем больше ошибок - тем больше работы, что не так уж плохо.

WNG - это отдельный разговор. Задумка этой библиотеки весьма благородна - позволить веб-приложениям работать на разных мобильных устройствах, которые зачастую html код понимают каждое по-своему. Для этого ввели свою библиотеку тегов, которую WNG транслирует в html в зависимости от того, какой клиент попался. Как и всякое унифицированное решение, это работает плохо, изобилует какими-то космическими глюками и не дает делать элементарные вещи: картинки вместо кнопок, картинки в на форме, таблицы в формах и формы в таблицах. Для преодоления этих проблем пришлось вставлять костыли в виде собственных тегов, и менять код фильтра, который из обрабатывает. Народ из Vodafone остался дико доволен, когда я заставил WNG показывать их фирменные картинки-кнопки вместо стандартных html submit.

Что еще? Меня тут, видимо, считают не то администратором Oracle, не то заместителем Тома Кайта. По вопросам Oracle идут ко мне. Я тут раздобыл вот такую книгу и почти всякое обращение переадресовываю к одной из ее глав:


Вообще, интересная деталь: все те ошибки разработчиков, которые описывал Том, и которые я долгое время считал идиотизмом и безумием, вылезли в наших базах данных. Там было все: и отсутствие ссылочной целостности, и генерация ключей по максимальному значению поля, и фиксирование транзакций в процедурах, и фиксирование транзакций через каждые N итераций, и отсутствие связываемых переменных, и передача даты и времени в виде строк, и неправильная индексация, и денормализованные в ноль таблицы, всего не перечислишь. Все то, за что в приличных, да и неприличных, ВУЗах вешают на экзамене и защите курсовой. Усугубляет ситуацию то, что сервер БД всего один - Pentium 3 десятилетней давности, у которого закончилось дисковое пространство и который хочется пристрелить, чтобы не мучился. Пожалуй, рано или поздно, я что-то такое сделаю. Название у него тоже соответствующее - SIGABA.

Остальные сервера не лучше: обычные рабочие станции, тянущие непосильное бремя десятка серверов приложений Java. Руководство, судя по всему, сильно прониклось идеей виртуальных машин, и когда-то еще до меня купило какую-то мощную машину, на которую повесили несколько виртуальных. Работает с переменным успехом, иногда хорошо, иногда дохнет. Доходило даже до того, что пытались вкорячить Oracle на виртуальную машину и проводить на нем некое подобие нагрузочного тестирования. Конечно, это дело безбожно тормозило. Я тогда поставил Oracle на свой ноутбук и показал, что на реальном железе тот же запрос работает в 100 раз быстрее и тестирование на виртуальной - это бесполезное дело.

Еще одно безумие - у промышленных серверов Oracle Vodafone нет администратора. Нет и все тут. Они обслуживаются HP, которые во что-то вмешиваются только в случае аварийных ситуаций. Как следствие, этих людей невозможно найти, чтобы, к примеру, уточнить настройки или попросить снять STATSPACK. На эти разрешения и согласования уходят дни, тогда как должны уходить минуты.

Как-то мне довелось пару недель поработать над изменением в базе данных, которое я осуществил с помощью одного большого запроса и нескольких мелких. Вот тогда я оторвался на Oracle. Свое, родное, наконец-то. А так, в основном, Java. Тоже ничего, но хочется разнообразия.

По результатам таких вот грустных изысканий, я сделал большую страницу на нашей корпоративной вики, где описал все встреченные ошибки и рассказал как их избежать. Вроде, кто-то прочитал и проникся. По крайней мере, чуть у кого вопрос по Oracle - сразу ко мне. Доходит до смешного: спросили что будет, если в промышленной БД выполнить большой SELECT? Да ничего не будет, выполни да и все. Они ж думают, что заблокируют что-то, или переполнят. Эх, ну совсем не знают Oracle люди. Как ножом по сердцу.

А так-то люди, вроде, хорошие. Некоторых, правда, надо немного стукнуть. Был случай, когда Гиту (Senior Developer, е-мое), начала генерировать код, который использовал глобальные переменные в хвост и в гриву. Сначала я просто спрашивал зачем сделано так, когда можно бы и вот эдак. Потом прямо врубил: "Ты что, с Паскаля слезла недавно? Откуда такая любовь к глобальным переменным? В многопоточном приложении это, знаете ли, чревато." Она после этого перестала вмешиваться и предоставила мне возможность сделать все по-людски.

Но есть светлые пятна. К примеру, Карл Руз. Этого человека невозможно не заметить, у него эмоции бьют через край. Если он нашел ошибку, об этом будут знать все в радиусе 5 метров. С душой работает человек. Один из разработчиков, Фил, все время его подкалывает. Вот, например, что нарисовал:


Несколько гротескное, но верное отображение эмоциональности Карла.

У нас по пятницам, я уже писал, кто-то из работников покупает традиционный торт. Сигналом к сбору служит музыкальный Санта-Клаус на мотоцикле. Карл, судя по всему, его терпеть не может и первый прибегает его выключить. Фил, видя такое дело, начал засекать время пока он добегает до мотоцикла, и записывать его на доске. Тоже юмор.

Не так давно компания выиграла тендер на разработку мобильных приложений для Vodafone. Для этого сколотили группу NativeApps, которая занимается программированием для iPhone, Android, Blackberry и, внезапно, Flash. Эту группу, куда входят и Фил и Карл и еще несколько человек, решили разместить компактно, ради чего почти всем пришлось поменять свои места. Объявлено об этом было своеобразно: за пару дней разослали сообщение о том, что будет какое-то особое объявление. Когда все собрались, Себастьян быстро положил схемы размещения на стол и сказал, что должны управиться за полчаса, что мы с приколами и шумом и проделали. Это уже третий переезд для меня. Предыдущее место выглядело вот так:


Новое выглядит так же, но находится в другом месте. И рядом сидит Чхави, что меня вполне устраивает, она достаточно позитивный человек.

А, ну да, еще я сдал свой ноутбук и получил нормальный компьютер, который, правда, оказался слабее ноутбука, но мне главное было получить винт пошустрее. Заодно заграбастал 24 дюймовый монитор. Насколько же приятнее на нем работать по сравнению даже с двумя небольшими, какие были раньше здесь и еще раньше в Macquarie. Весь код виден, не приходится разворачивать его на весь экран туда-сюда. Поставил туда OpenSuse 11.4, заставляющий обалдевать всех, кто проходит мимо. Нет, все-таки, Windows - это не родной дом программиста. Ну, если только он не использует технологии Microsoft. А я себя чувствую свободнее в Unix. Он не давит ограничениями.

Ну, а теперь Кунсткамера и лулзы. Наиболее блистательные образцы быдлокода.

Вот, к примеру, брутальный пример изобретения велосипеда, вместо использования метода clone():

public class HeaderParams
{
    private String webUser;                  // Optional
    private String entityIdentifier;         // Mandatory
    private String channel;                  // Mandatory
    private String applicationName;          // Mandatory
    private String businessIdentifier;       // Mandatory
    private Calendar createDateTime;       // Mandatory
    private String sourceIdentifier;       // Optional   
 
    public void setValues(HeaderParams headerInfo) throws OSBParamsException {

        if (headerInfo.applicationName == null || headerInfo.applicationName.equalsIgnoreCase("")) {
            throw new OSBParamsException("Mandatory header parameter missing: applicationName");
        }
        if (headerInfo.businessIdentifier == null || headerInfo.businessIdentifier.equalsIgnoreCase("")) {
            throw new OSBParamsException("Mandatory header parameter missing: businessIdentifier");
        }
        if (headerInfo.channel == null || headerInfo.channel.equalsIgnoreCase("")) {
            throw new OSBParamsException("Mandatory header parameter missing: channel");
        }
        if (headerInfo.entityIdentifier == null || headerInfo.entityIdentifier.equalsIgnoreCase("")) {
            throw new OSBParamsException("Mandatory header parameter missing: entityIdentifier");
        }
        this.applicationName = headerInfo.applicationName;
        this.businessIdentifier = headerInfo.businessIdentifier;
        this.channel = headerInfo.channel;
        this.entityIdentifier = headerInfo.entityIdentifier;
        this.sourceIdentifier = headerInfo.sourceIdentifier;
        this.webUser = headerInfo.webUser;
        TimeZone tz = Calendar.getInstance().getTimeZone();
        this.createDateTime = Calendar.getInstance(tz);
    }
}

А исключения мы обрабатываем вот так:

try {
    String reciept = (String) rechargeAccount.invoke(request);
    return reciept;
    }
    catch (OSBValidationException e) {
        throw e;
    }
    catch (OSBPaymentException e) {
        throw e;
    }
    catch (OSBRechargeAccountException e) {
        throw e;
    }
    catch (OSBRemoteBusinessException e) {
        throw e;
    }
    catch (au.com.vodafone.osbv2.exception.OSBException e) {
        throw new OSBConnectionException("OSB Exception while PaymentService.rechargeAccount", e);
}

А какой у нас SQL...

SELECT 'GLDATA', t1.ENTITY, t1.amount , t2.amount, t2.log_type, to_char(t1.logged_date, 'dd-mon-yyyy')
FROM MANUAL_PAYMENTS_LOG t1 left JOIN MANUAL_PAYMENTS_LOG t2
on (t1.log_type = 'doRedemption' and t2.log_type = 'doCompletion')
and t2.receipt_number = t1.receipt_number and (t1.ENTITY = t2.entity and t1.entity_type = t2.entity_type)
WHERE
...

Как вам такое условие объединения? Я башку себе сломал, но не понял почему это работает. Причем, в производстве. Думаю, что работает неправильно, но никто пока не заметил.

А вот это должно быть вписано золотыми буквами в анналы индусского кода:

protected ModelAndView initilise(HttpServletRequest request, HttpServletResponse response) {

   return null;
}

public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {

   ModelAndView mview = initilise(request, response);

   /* if a non null model and view is returned
   * then forward directly to it. A model and view is
   * returned on an error condition.
   */
   if (mview != null) {
      return mview;
   }
...
}

Если код настолько мутен, что требует комментариев помимо Javadoc - его надо выкидывать. Все равно эти комментарии ничего не прояснят.

А вот пример удачной "Рыбы" от Фила. У Vodafone есть тарифный план FlexiCap. Для заполнения списка, Фил накреативил вот что:

commercialOffers.add("Flexi Cap");
commercialOffers.add("Felix Cap");
commercialOffers.add("Fluoxetine Capsule");
commercialOffers.add("Flux Capacitor");

А вот тут поработал сам Капитан Очевидность:

public static final Integer INT_ONE = Integer.valueOf(1);
public static final Integer INT_TWO = Integer.valueOf(2);

Ну, и напоследок, чтобы вас окончательно сбросить с кресел, глядите какие замечательные имена пользователей почтовых ящиков я нашел (имена серверов не привожу, это все то, что стояло до @):

hairy_marshmellow88
kiwifruity_boy
funkyavocado
pumpkinguts
froggysmum
flyingpurplepeopleeater
woollycrab
bolshevik80
psycho_scientist51
peanutgoddess
greatyellowslug
toadsquasher

Их там было порядка 400 тысяч, выборочно посмотрел. Наверняка есть еще.
Все!

P.S.: А вот что интересно-то: оказывается те штопоры, которые мне показала Аяко были незаконными. Когда я о них сказал Тони, он попросил молчать об этом. Потом я выяснил, что действительно Piper Warrior не предназначен для тренировок на штопорение. Получается, что Аяко взяла на себя ответственность ради того, чтобы научить меня выходить из него?

9 комментариев:

  1. На настоящий вертолет пока нет желания пересесть? А то зная тебя: сначала симулятор, потом модель, потом летные курсы. ;)

    "Они разработаны огромной индийской компанией TCS на основе Oracle Fusion, и, как следствие, не работают." 5 баллов.

    Странно следующее. Водафон, насколько я знаю, достаточно крупная компания, а аутсорсят вообще всё. И ваши тоже хороши: жесткая экономия в ущерб качеству, вроде описанного тобой сервера на P3. До экономии на наемных работниках еще не дошло? Мир капитализма разочаровывает все сильнее.

    bolshevik80 порадовал - наш человек в среди арахисовых божеств.

    ОтветитьУдалить
  2. По-моему, это не экономия, а тупость. Рулят не в том направлении. Влетит им это, ей-богу. В Macquarie была противоположная ситуация, на с тем же результатам: был огромный сервер с 256Гб оперативки на Solaris 10. Так и его пригрузили так, что еле шевелился. Бизнес - сущность весьма тупорылая.

    Людей, кстати, пока что напротив, набирают понемногу.

    ОтветитьУдалить
  3. Артура неудержимо тянет в небо. Такими темпами можно забросить карьеру программиста и податься сюда http://www.airforce.gov.au/careers/

    ОтветитьУдалить
  4. Про ВВС задумываться уже поздно, мне не 18 лет. Да и не особо хочется туда лезть.

    ОтветитьУдалить
  5. Похоже результат теста будет удовлетворительным, уже можно поздравлять?)

    А где фото вертолета? Ты же его починил :) И вообще, замечание фотографу: снимать надо, чтобы можно было оценить размер объекта. Хотя бы с линейкой что ли... )

    Ну наконец, раскрыл тайну: авторитет на работе растет! Это же прекрасно! Так ты скоро переквалифицируешься в консультанта по разработке на Oracle) А какие перспективы открываются))) В общем, удачи!

    ОтветитьУдалить
  6. Пока давай повременим с поздравлениями. Еще надо дождаться решения CASA и пройти остальную проверку для первого класса.

    Вертолет потом сниму. А надо? Я ведь ссылку дал. Масштаб моделей я указал, размеры тоже. Все равно линейка нужна?

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

    ОтветитьУдалить
  7. Значит решение CASA - положительное?

    ОтветитьУдалить
  8. У меня его на руках все еще нет, терпите там. Я ведь терплю. После этого еще придется побегать по врачам, много где завалить могут. Не надо рано радоваться.

    ОтветитьУдалить