Desolation Wilderness

11-12 июня 2016

Desolation Wilderness (Дикий Пустырь, или что-то вроде того) — большая горная территория на Юге Тахо со множеством небольших озёр. Свежий воздух, потрясающие виды и доступ к пресной воде делают это место очень популярным среди туристов.

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

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

Это был наш первый двухдневный поход вдвоём, не считая собаки, поэтому хотелось, чтобы всё было хорошо. В итоге всё прошло вполне по плану. Мы приехали к рейнджерам аж за полчаса до открытия, к открытию были в начале небольшой очереди за разного рода разрешениями. Пермит был получен, и мы поехали к началу маршрута. Continue reading “Desolation Wilderness”

Короткие Email-адреса

GMail позволяет регистрировать логины от 6 знаков. Казалось бы, круто иметь очень короткий, либо очень легко запоминающийся адрес (например, a@gmail.com или sergey@gmail.com), но на самом деле нет. Обладатели таких аккаунтов (в основном имя@gmail.com) жалуются, что им приходит безумно много спама от того, что другие люди пользуются их адресами, будь то по ошибке или нарочно. Им пишут незнакомцы, их приглашают на встречи, иногда они даже получают чужие денежные переводы или конфиденциальные документы. Спам-фильтры не справляются с этим, потому что каждое из этих писем может быть не спамом — никто кроме самого владельца адреса не может сказать наверняка.

Один человек на работе рассказал, что по знакомству зарегистрировал себе <его короткое имя>@gmail.com, и за первые 40 минут существования адреса ему навалило почти 3000 спам-писем.

Мой адрес mkhitaryan.sergey@gmail.com, и даже на него я один или два раза получал чужую почту. Возможно, она предназначалась sergey.mkhitaryan@gmail.com, который я когда-то сам безуспешно пытался зарегистрировать.

Вводить Email-адрес вручную часто не приходится (я обычно копирую свой откуда-нибудь, чтобы не ошибиться), поэтому если бы мне понадобился новый основной адрес, я бы не стремился делать его слишком коротким или простым.

Чикаго 2016

Слетали в очередной раз в Чикаго, погуляли, встретились с Т. Мне хронически не хватает отпускных дней, поэтому я договорился с боссом, что поработаю неделю удалённо из чикагского офиса.

Утро первого рабочего дня. В прошлом году я был в этом офисе, но надо вспомнить точный адрес и построить маршрут. Беру телефон, ищу Google на карте. Нахожу почему-то только кафе, но зато примерно в том месте, где ожидал. Еду. Иду. Нахожу. Оказывается, Google съехал оттуда в прошлом году.

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

 

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

Спрашиваю на ресепшне про свободные места. Совсем незанятных столов нет, но некоторые люди работают из дома. Нахожу свободный стол, знакомлюсь с соседом, сажусь. Сосед спрашивает, над чем работаю, я ему — Spanner. — А что это?

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

 

* * *

 

Чикаго прекрасен в тёплое время года.

Плаваем на парусной лодке по Мичигану. Капитан в восторге от того, что мы взяли мыльные пузыри: ветер выдувает их много и быстро. Летя по спиралевидной траектории, пузыри быстро отдаляются от нас.

Chicago downtown view from Michigan

Chicago

Section 8 это статья в законодательстве, обеспечивающая финансовую помощь малоимущим в аренде жилья. У хозяина катера с юмором явно всё ок. Continue reading “Чикаго 2016”

The Design of Everyday Things

The Design of Everyday Things

Любопытная книга The Design of Everyday Things, автор Donald Norman. Дизайн это сложная дисциплина, которая отвечает за то, как люди взаимодействуют с материальным и нематериальным (внешний вид — это только один небольшой аспект дизайна). Эта книга покрывает многие (все?) стороны дизайна, начиная с того, что подсознательно происходит в головах у людей, и кончая местом дизайна в мире бизнеса.

Объясняется, почему мы путаем ручки конфорок на плитах и почему в очередной гостинице бывает трудно разобраться с душем. Отдельная большая глава посвящена человеческим ошибкам (автор разбирается в психологии). Я был рад получить из неё подтверждение своим мыслям по поводу человеческого фактора: поскольку всем известно, что людям свойственно ошибаться, нельзя ссылаться на эти ошибки как на причину техногенных аварий. Если человеческая погрешность привела к беде, виноват дизайн.

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

Памятка: перегрузка и переопределение

Overriding — переопределение — когда подкласс подсовывает свою реализацию метода вместо реализации в суперклассе. При вызове метода выбирается наиболее «специфическая» реализация, то есть реализация в подклассе, если она есть, приоритетнее реализации в суперклассе. В Java выбор выполняемого метода при переопределении происходит динамически (в рантайме) и не зависит от того, каким типом объявлена ссылка на объект:

public class TestOverriding {
    
    private static class Parent {
        String getName() { return "Parent"; }
    }

    private static class Child extends Parent {
        @Override
        String getName() { return "Child"; }
    }

    public static void main(String[] args) {
        Parent child = new Child();
        // Prints "Child"
        System.out.println(child.getName()); 
    }
}

Overloading — перегрузка — объявление методов (или конструкторов) с одинаковыми именами, но разными сигнатурами. Пример — все конструкторы любого класса, если их больше одного. В Java выбор имплементации при перегрузке происходит статически (во время компиляции) и не зависит от типа объекта в рантайме:

import java.util.Collection;
import java.util.HashSet;
import java.util.Set;

public class TestOverloading {

    static void classifyCollection(Collection<?> c) {
        System.out.println("Collection");
    }

    static void classifyCollection(Set<?> s) {
        System.out.println("Set");
    }

    public static void main(String[] args) {
        Collection<?> c = new HashSet<Object>();
        // prints "Collection"
        classifyCollection(c);
    }
}

Среды разработки

Работая в предыдущей команде (GCM), я писал на Java. Я пользовался Intellij IDEA (не люблю Eclipse) с плагинами для Protobuf и чего-то ещё. Всё было хорошо, и я был доволен.

В новой команде (Spanner/Test Infrastructure) я пишу на C++, Python, Go, Java — у нас тут несколько компонентов, написанных на разных языках и обильно склеенных Protobuf-ом. Я начал с Vim, мне не понравилось, попробовал нашу собственную IDE, тоже не особо. Потом подумал, что если мне нравилась Intellij, то может понравиться и CLion, среда разработки на C++ от тех же Jetbrains. Так оно и получилось, в общем. Конечно, с CLion у меня всё не идеально, и я продолжаю разбираться и подстраивать его под себя, но ничего удобнее мне пока не известно.

Как и Intellij, CLion имеет плагины для Python, Go и Protobuf. Однако у CLion нет плагина для Java, ровно как и у Intellij нет плагина для C/C++. Поэтому я, к большому своему сожалению, не могу вести всю свою разработку ни в одном из них. И я не могу понять, почему нельзя было сделать общую IDE платформу с плагинами под разные языки (чтобы некоторые плагины, например C++ и Java, были платными). Меня лично это бы очень устроило. Кажется, что сделать такую среду было бы вполне возможно, и она даже могла быть удобной и приятной в использовании (как умеют сделать в Intellij). Я не проверял, но есть подозрение, что Eclipse как раз таким комбайном и является, что, впрочем, не делает его более привлекательным для меня.

Achievement unlocked

Оставил ненадолго на весеннем калифорнийском солнышке.

iPhone needs to cool down

Накопилось #11

The Psychology of Pricing: A Gigantic List of Strategies. Большой список тактик, которыми пользуются продавцы, чтобы изменить восприятие цен покупателями. Читать там много, советую хотя бы пробежаться по картинкам.

Про различные типы электрических вилок и розеток в мире.

Про благотворительность.

Главная Яндекса про полёт Гагарина, выполненная ко дню космонавтики. Очень круто.

Траектория аппарата Розетта, который колбасился по солнечной системе 10 лет, чтобы в конечном итоге приземлиться  на нужной комете. На официальном сайте есть интерактивная модель и много другой информации.

It’s going to be okay.

Continue reading “Накопилось #11”

Гнева пост

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

Сколько вы зарабатываете? Сколько приносят ваши вложения? Сколько у вас всего денег на эту поездку, и почём были билеты и гостиница? Дружите ли вы с террористами? Кто выдал вам предыдущую британскую визу, и зачем? Любите ли кинзу? Хотите ли рассказать нам ещё о чём-нибудь?

Какие страны посетили за последние 10 лет, и когда, с точностью до дня? — Ну как вам сказать, у вас столько строк в анкете нет.

(Наконец сохранил этот список в Evernote, чтобы каждый раз его не воссоздавать)

В анкете мужа было всё про жену? Давайте в анкете жены спросим всё про мужа, ведь всё равно вам в выходные заняться нечем.

Задержишься долго на одной странице, сохранишь её, а она тебе — сессия истекла. Логинишься опять, и естественно всё надо вводить заново.

После заполнения анкеты нужно сдать биометрию и отправить все документы курьером в Нью-Йорк в течение X дней.

Американцы и не представляют, как им везёт с безвизовым режимом в большинство стран.

И да, я знаю, что с визами во многие другие страны всё не намного лучше.

Гавайи, Большой остров

Рекордный по своей запоздалости рассказ о поездке на Гавайи полтора года назад. Все фотографии кликабельны.

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

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

Остров можно логически разделить на две части: западную (Kona) и восточную (Hilo). Kona это океан, пляжи, сёрфинг, сноркелинг, наблюдение за черепахами и подобные «тёплые» развлечения. Hilo более дождливая, там тропические заповедники, водопады, парк с активным вулканом.

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

Green sea turtle on Big Island of Hawaii // Зелёная черепаха на Гавайях

Big Island of Hawaii // Остров Гавайи Continue reading “Гавайи, Большой остров”