среда, 23 декабря 2015 г.

Гонг за стенкой

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

А ещё забавно, что сейчас именно от них мне стали часто звонить рекрутеры. Туалеты у нас общие на этаж. Поэтому, если снова буду искать работу, встречаться можно будет без отрыва от производства - на нейтральной, так сказать, территории :)

Пальцы в туалете

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

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

Будут менять замки. А с виду всё такое стильное - наверняка модные дизайнеры делали под заказ.

вторник, 22 декабря 2015 г.

Птичка - к деньгам

Приснилось: сообщаю Марине, что ей на куртку накакала птичка. И тут же другая птичка какает ей прямо на лоб.


Примета работает! Утром получаю письмо от бухгалтера: Марине должны вернуть переплаченные налоги. Целых £1.75 :)

среда, 16 декабря 2015 г.

Павлик у нас


Начальная школа. Ко мне зашёл Павлик. Он жил довольно далеко и был в нашем районе по каким-то делам. Собирался ненадолго - то ли просто чайку попить, то ли книжку какую-то взять. Но мы заигрались, и визит затянулся. "Надо предупредить его родителей, чтоб не волновались". Не вопрос. Пошли к моей бабушке позвонить, потому что своего телефона у нас не было.


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


Как же так? Я же предупреждал? Да, но как я писал, своего телефона у нас не было, поэтому я не умел "правильно" по нему разговаривать. Трубку подняла бабушка Павлика, и я ей просто сказал: "Павлик у нас". Положил трубку. Она же знает мой голос.


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


В общем, развивайте communication skills :)

пятница, 4 декабря 2015 г.

Beer pong

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

Оказалось, это на благотворительность. "Врачи без границ". И правда, на столе лежали брошюры. Это в Украине благотворительность ещё недавно (до войны) была исключительно уделом олигархов. А тут все на что-то собирают деньги. Например, если человек просто так бежит марафон, то это удивительно: обычно бегают, чтобы помочь больным раком, например.

Всё же просто так брать деньги за вход в Провал им было неудобно, поэтому для посетителей организовали игру в beer pong ("литрбол"). Две команды. Два стола поставили в длину. С каждой стороны по шесть стаканов треугольником. У них наливают немного пива. Задача - попасть шариком для пинг-понга в стакан противника. Если попадаешь - противник выпивает пиво и убирает стакан. Два раза за игру каждая команда имеет право перегруппировать стаканы противника (когда они рядом, то попасть легче).

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

Поначалу у меня ничего не получалось, но, после принятия на грудь, точность бросков стала рости. Первую партию мы проиграли с минимальным отрывом в один стакан, зато потом разгромили студентов (у нас ещё осталось аж четыре стакана).

Хорошая игра. Особенно когда противники - молодые, жизнерадостные студенты. Чем дальше, тем веселее: выпендриваются, кричат, кидают в прыжке, массируют друг другу плечи перед броском, пьяные девушки пытаются поймать шарик грудью и пр.  Единственное, что, в конце, когда остается мало стаканов, то игра затягивается, потому что попасть становится сложнее.

Неожиданный талант к игре обнаружился у нашего тихого индуса-тестировщика. Хотя на мои проводы пришло всего четыре человека, два из которых к тому же довольно свалили домой, остался доволен. Потом, правда, была "головка вава". Утром на scrum meeting скаламбурил: "today - handover and hangover" ("сегодня - передача дел и бодун").

Динамо

Жителям Крыма предлагают новое имя для детей – "Генератор". С такой инициативой на внеочередной сессии 4 декабря выступил глава Госсовета Крыма Владимир Константинов, сообщает Крым.Реалии.
Предлагаю аналогичное имя для девочек: "Динамо" :)

четверг, 3 декабря 2015 г.

RHS Hampton Court Palace Flower Show

Самая крутая выставка цветов - это в Челси, но там и цены на билеты заоблачные. А мы в прошлом году ходили на выставку в Hampton Court (это где лабиринт "Из трое в лодке"). Тоже очень здорово. В первую очередь поражает количество машин и посетителей. Даже ставят временные пешеходные мосты, потому что через дорогу в Hampton Court Green паркуются дома на колесах. Я раньше удивлялся, зачем на территории дворца так много пустого места - деревья бы посадили, что ли? А это всё для дополнительной парковки во время массовых мероприятий. Но, несмотря на огромное количество автомобилей и узкие дороги, пробки были не очень сильные: чётко работают регулировщики движение.

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

Несмотря на высокие потолки в закрытых помещениях, через пару часов я начал задыхаться, заболела голова: жара и куча запахов вместе. Много чего купили. Цены хорошие, даже по сравнению с Costco или распродажами в B&Q. Особенно в последний день перед самым закрытием. Да и просто много таких экзотических вещей, которых мы в магазинах никогда и не видели. Но проблема в том, как это всё дотащить до машины: очень далеко, да и назад не пустят, если не купишь новый билет. Поэтому большим спросом пользовались складные тележки.

среда, 2 декабря 2015 г.

Бодун авансом

В понедельник на новую работу. При этом заранее, уже в пятницу, иду к ним на корпоратив. Замечательная возможность спьяну подраться с начальством, даже не приступив к работе :)

С трудом родил прощальное послание для нынешней работы. С ними тоже надо будет в четверг сходить в паб. Не очень хочется, но надо. Нет, вроде всё хорошо; нормально ухожу после неплохих шести лет. Никаких обид. Просто какая-то усталость...

Сила defaultValue в rewriteMap

Бывают ситуации, когда элемент <rewriteMap> в настройках IIS URL Rewrite на самом деле используется не как map (или dictionary), а просто как hash set. Т.е. когда достаточно проверить, что ключ есть в списке, а никакое value доставать не надо.

Пример. У каждого офиса корпорации раньше была своя личная страничка с адресом вроде /our-office-in-Donetsk/. А теперь надо их всех перенаправить на полный список всех офисов: /contact-us/. Это легко:

<rule name="Redirect all offices to the main Contact page">
  <match url="^our-office-in-([a-z]+)/$" />
  <action type="Redirect" url="contact-us/"/>
</rule>


Усложняем задачу: а что, если только некоторые страницы (допустим, с закрывшимися офисами) надо перенаправить, а остальные, вроде /our-office-in-Kyiv/ - оставить, как есть? Если список большой, то желательно использовать <rewriteMap>:

<rewriteMap name="ClosedOffices">
  <add key="Donetsk" value="closed" />
  <add key="Luhansk" value="closed" />
  <add key="Sevastopol" value="closed" />
</rewriteMap>

Тогда наше правило перенаправления может быть таким:

<rule name="Redirect closed offices to the main Contact page">
  <match url="^our-office-in-([a-z]+)/$" />
  <conditions>
    <add input="{ClosedOffices:{R:1}}" pattern="^closed$"/>
  </conditions>
  <action type="Redirect" url="contact-us/"/>
</rule>

Неплохо, но для каждой строчки в карте приходится повторять одно и то же value="closed". Это добавляет шум в код, и ошибиться легче (написал в одном месте close вместо closed, и работать уже не будет).

И тут есть небольшой трюк: атрибут value ведь использовать необязательно! Вместо этого можно делать наоборот - возвращать defaultValue, когда ни одного совпадения не найдено (если value не указано, то в случае совпадения возвращается пустая строка):

<rewriteMap name="ClosedOffices" defaultValue="open">
  <add key="Donetsk" />
  <add key="Luhansk" />
  <add key="Sevastopol"/>
</rewriteMap>

<rule name="Redirect closed offices to the main Contact page">
  <match url="^our-office-in-([a-z]+)/$" />
  <conditions>
    <add input="{ClosedOffices:{R:1}}" pattern="^open$" negate="true" />
  </conditions>
  <action type="Redirect" url="contact-us/"/>
</rule>

вторник, 1 декабря 2015 г.

Полубольничный

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

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

The Gherkin

Пару месяцев назад побывал почти на самом верху "Огурца" (здание в Сити весьма необычной формы). Здорово! Но когда за спиной докладчика окна от пола до потолка с видом на весь Лондон, трудно сосредоточиться на презентации :)

Ratings by outbrain