• Как звонить

    Смотрите, простое правило: по телефону нужно представиться первым. Позвонил и сразу, — я такой-то, звоню затем-то. А потом уже спрашивать, тот ли человек на проводе. Вопрос “удобно ли разговаривать” вообще не задавать.

    Теперь длинно.

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

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

    На приветствие ушло время, а потом выяснилось, что это кредит от Сбербанка. Или “выгодный” тариф от Билайна. Знал бы раньше, положил бы трубку.

    На надо спрашивать, удобно ли собеседнику разговаривать. Это раздражает. Конечно неудобно! Вот если бы это было воскресенье после обеда, и ребенок спит, и я на диване с книжкой, тогда удобно. А так нет! Но раз начали, давай по делу, не тяни кота за яйца. Человек отложил дела, встал из-за рабочего места. Мысль о том, что скажешь “неудобно”, и тебе позвонят в восемь вечера, ужасает.

    Раньше, услышав бархатное “Иван Викторович?”, я просто сбрасывал. Теперь спокойно отвечаю: представьтесь, пожалуйста. Если в должности звучит Сбербанк или что-то похожее, кладу трубку. Это быстрее и удобнее для обеих сторон.

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

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

    Позвонил — представился, это же просто.

  • Виджет опечаток

    Вчера прикрутил к блогу костылик. Если выделить текст и нажать Ctrl+Enter, у вас откроется черновик письма. В нем указан мой адрес, текст с ошибкой и другие данные, чтобы мне легче найти ошибку. Выглядит это так.

    Делай раз — выделяем текст:

    Делай два — жмем Ctrl+Enter, открывается черновик. В какой именно программе, зависит от настроек системы:

    Делай три — отправляем, мне падает вот такое письмо:

    Все довольны и смеются. Проверял в Хроме, Сафари и FF. Под виндой не могу, сообщите, если что не так. На Маке работает Command в дополнение к Control. Скрипт простой как лопата, будут предложения — пишите.

    Уточню, сервисы вроде orphus.ru уже не работают. Видимо, их абузили спамом. Рассылать письма по запросу это прохладная история.

    Уже когда закончил, коллега подсказал способ с formspree. Это сервис-агрегатор форм. Умеет слать письма, стыкуется в Гуглом, понимает AJAX. Возможно, в будущем переделаю виджет под него.

  • Тесты в Clojure (второй фрагмент)

    Продолжение первой части

    Содержание

    Read more →

  • Антисемитизм

    Советский Союз, при всем его равенстве и братстве, был антисемитским государством. Еще в раннем детстве я заметил, что взрослые подмечают национальность там, где в этом нет смысла. Например, в передаче “Что? Где? Когда?” крупье обращается к условному господину Шпильману, и все такие — о, еврей. С таинственной полуулыбкой, как будто раскрыли шпиона. Или в титрах: продюсер Кацман. Ага, вот этот парень.

    Помню, прочитал фантастический рассказ “Песок” о космонавтах, которые застряли на планете-пустыне. Одного из героев звали Шапиро. Я пытался пересказать сюжет бабушке, но она без конца перебивала меня словами “Шапиро это еврей, это еврейская фамилия”.

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

    В великой державе с равными возможностями страдали не только евреи, но и представители всех национальных меньшинств. Вспомним, как основатели Яндекса не поступили в МГУ. У одного еврейские корни, у второго казахские. Значит, на образование высшего ранга претендовать вы не можете.

    С годами советские наследие выветрилось из родителей, и больше про евреев я не слышал. Как хорошо, что сегодня не говорят “еврей” при виде человека с щетиной и горбинкой на носу. Ну, кроме совсем больных личностей, малый процент которых всегда найдется. Как здорово, что нынешние дети даже не поймут, о чем речь.

  • Тесты в Clojure (фрагмент главы)

    В последней главе мы поговорим о тестировании приложений. Читатель узнает, что такое тесты и каких типов они бывают. Мы рассмотрим методы тестирования и хорошие практики. Постараемся избежать лишней сложности: не будем злоупотреблять терминами вроде TDD и BDT. Покажем, что в мире Clojure легко писать и поддерживать тесты.

    Содержание

    Read more →

  • Сохранение страницы

    Вот что меня удивляет. Хром и браузеры на WebKit захватили весь мир, фирмы выбрасывают старые движки, Мейл.ру и Яндексы ставят офисному планктону хромовые поделки. И до сих пор не решена банальная проблема. Я хочу сохранить страницу на диск, а потом открыть ее и увидеть в том же виде.

    Простое сохранение страницы работает не всегда. Вот прямо сейчас проделайте следующее. У вас же Хром, да? Откройте любой проект на Гитхабе, хоть этот, например:

    good

    Сохраните страницу на диск (Ctrl/Command + S). Теперь откройте html-файл. Как оно?

    ugly

    Ужасно. Причина в том, что Хром ограничивает доступ к локальному ресурсу из-за CORS-ограничений. Безопасность и все такое, но в итоге я не вижу страницу. То же самое в любом Хромо-браузере: Опере, Edge, поделки от русских фирм. И даже в Сафари. А вот Firefox и, внезапно, Internet Explorer показывают нормально.

    С сохранением страниц всегда была беда, сколько помню. Какие-то браузеры сохраняют исходный код страницы. Например, если это SPA, то вы ничего не увидите. Другие не скачивают стили и ресурсы. Если я хочу сохранить страницу, чтобы прочесть ее в самолете или поезде, то нет никакой гарантии, что все пройдет нормально. Открыл в поезде ноут, а там голый HTML. Извини друг, просто это небезопасно.

    Другая странность — браузеры до сих пор не могут сделать скриншот страницы. Я в курсе про тысячи расширений для Хрома, но вопрос все равно открыт. На техническом уровне любой браузер может выплюнуть картинку. Я писал либу для протокола WebDriver, и это работает даже для Phantom.js. Послал запрос, получил PNG в Base64. Зачем плодить расширения там, где все и так есть, непонятно.

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

  • Что там с книгой?

    На этих выходных я выступал на конференции в Москве. Было очень приятно встретить людей, которых долгое время видел только на аватаре. Среди прочего несколько человек благодарили про книгу по Кложе, которую я пишу и выкладываю в блоге. Интересовались судьбой проекта, сроками. Я подробно отвечал и хочу, чтобы вы тоже знали.

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

    Параллельно приступаю к поиску издательства. Это новая для меня вещь, потому что бумажные книги я еще не издавал. Электронная на LeanPub не в счет. Там всего лишь заполнил форму, приложил файл и прошел минимальные проверки. С бумажной книгой все по-другому: долго, дорого и изматывающе.

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

    Намереваюсь выпустить книгу только в бумажном варианте. Не потому, что опасаюсь пиратства — время, которое я на нее потратил, я не окуплю, даже если книга пойдет за 5000 рублей за экземпляр. Просто хочу, чтобы книгу прочитали. Если вы скачаете ее на диск в виде файла, пусть даже за деньги, то, наверное, забросите в папку “прочесть позже”, и так она останется там навсегда. Давайте честно, когда в последний раз вы прочли книгу от корки до корки с монитора? Я бумажные-то еле-еле дочитываю, а уж сколько скачал pdf-ок…

    Спрашивали, как отблагодарить за книгу, предлагали завести патреон. Кто-то даже сказал — не писать же тебе пустое спасибо, давай хоть денег дам. Все в точности наоборот. Зачем мне, главе семьи, сотруднику швейцарской фирмы, ваши двести рублей? Ну, наберется их на три тысячи, и что? Гораздо лучше, если вы пришлете абзац текста о том, как вам помогла книга. Что в ней хорошего, где косяки, опечатки. Одно такое письмо даст заряд для новой главы или даже книги. Так что все это не про деньги. Мотивация, вот что важно.

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

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

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

    Кто-то из гостей конференции посетовал, что книгу заканчивать рано, еще столько всего не сказано. Но я ведь не говорил, что после этой книги больше не буду писать про Кложу! В моей тетради записан конспект, и все, что я пока написал (около 300 страниц), покрывает его где-то на четверть. Так что тема для материала есть, была бы только воля все это сделать.

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

    В своей книге я касаюсь нескольких тем. Я не ставлю цель покрыть весь язык — это уже сделали до меня. В этом и отличие: я беру узкую тему и копаю так глубоко, насколько это возможно. В типичной книге про исключения написана страничка. У меня это глава. Про системы вообще никто не пишет. У меня про это 55 страниц. И все — практика, практика, практика. Все опробовано на себе: работает или нет, и когда, и при каких условиях, и почему так, а не иначе, и что там сидит под крышкой. Аналогов я не видел.

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

  • Доклад Make Time

    На прошлом митапе рассказал о книге Make Time. Это о том, как находить время на личные проекты без ущерба для работы и семьи. Перечислил практики, которые удалось закрепить. Горячо рекомендую купить и прочесть эту книжку. Другие клевые книжки смотрите на книжной полке.

  • Системы в Clojure

    В этой главе мы поговорим о системах. Рассмотрим, как составить проект из отдельных частей и заставить их работать вместе.

    Содержание

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

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

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

    Read more →

  • Слабые фильмы

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

    Это случается все чаще и чаще. То ли я постарел, то ли ожидаю слишком многого. Я далеко не киноман — появляюсь в кинотеатре раз в три месяца. Мои чувства не притуплены бесконечными сериалами и фильмами. Может, в этом и проблема, как ни парадоксально?

    Я вспомнил фильмы, от которых многого ожидал, но в итоге они оказались слабыми.

    Магазинные воришки

    Фильм про семью бедняков в Японии. Живут в нищите, зато дружно. Родители учат детей воровать в магазинах. Поначалу приятно: японский быт, ужин дошираками в тесном кругу. Семья подбирает девочку, с которой плохо обращаются, и ее принимают как дочь. Но потом слишком затянуто, ноль действия.

    Read more →

Страница 2 из 47