Я в интернете

РСС    Джейсон-фид

Есть автоматические трансляции в Тумблер и Же-же. Если не работает, напишите мне: ilyabirman@ilyabirman.ru.

Избранное

Позднее Ctrl + ↑

Вильнюс

 6 мин

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

Некоторые улочки очень красивые:

Некоторые — какие попало:

Иногда приходится подниматься по лестнице:

Это всё центр города.

Открытка:

Много разных церквей. Особенно порадовала францисканская. Ковры и облупленные стены:

Кажется, когда это всё отреставрируют, станет не так красиво:

Но вильнюсовская фишка — при реставрации оставлять дырки, через которые видно, как было раньше (это уже другая церковь):

Заплатка наоборот:

Встречается даже в дорогах:

Кстати, многие улицы замощены вот так, с полосой камней у бордюра:

Велодорожка отделена выпуклыми фиговинками:

Люк:

Колодечная табличка как в Германии:

Просто красивая табличка:

Много приятно оформленных мест. «Бистро 18»:

«Сторителлерс»:

«Софа де панчо»:

Пожарные планы здесь, похоже, не стандартизованы, и каждый рисует как умеет. Иногда попадаются красивые:

Все говорят, что в Вильнюсе надо идти в Ужупис — район, как бы объявивший себя самостоятельным государством с собственной конституцией:

Сразу ожидаешь, что там будет что-то особенное — какой-то бум анархии, уличного искусства и молодёжной движухи. Может, нужно знать секретные места, но если просто гулять, то это просто район. Есть такая стена:

Фотографии из поездки в сентябре 2018 года. Во всех заметках про путешествия снизу есть поиск дешёвых авиабилетов. Слетайте в Вильнюс!

Ещё недалеко от Вильнюса есть Минск.

От винта

Я помню из мультика «Чудеса на виражах», что когда Балу садился за штурвал самолёта, он кричал «От винта!» Это было что-то вроде крика «Э-ге-гей!» или битья себя по груди — такое бессмысленное картинное ритуальное действие перед смелым поступком.

А пару недель назад мне случилось полетать на двухместном самолёте.

Я сел на своё место сзади, за пилотом, меня пристегнул мужик; вокруг толпился ещё какой-то персонал. И тут пилот закричал: «От винта!», все разбежались от винта, и он завёл двигатель. Так вот, что это значит!

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

А летать вверх ногами и падать отвесно в озеро — довольно весело, рекомендую.

Ninth Of Kin: Juice

У меня новый трек под именем Ninth Of Kin (под этим именем я делаю пситранс). Предыдущий такой был аж четыре года назад.

Ninth Of Kin: Juice

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

Что ещё послушать:

Как работают «Блоги»

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

Когда я задумал эту страницу, я стал думать, как же мне её технически реализовать. Ясно, что для начала надо научить саму Эгею уведомлять «Блоги» о новых заметках. Но дальше «Блоги» должны их как-то сохранять и отображать, а это значит, что там надо реализовывать базу данных, вывод заметок, листалки всякие. И нужна будет какая-то админка: удалять плохие заметки, апрувить хороших и банить плохих авторов. А в будущем наверняка захочется, чтобы там появились какие-то свои теги, например. И всё это добро надо будет учить кешированию, метатегам для соцсетей и другой нудятине... В общем, сначала мне казалось, что это проект на год, а потом до меня дошло.

В итоге в «Блогах» работает Эгея — точно такая же Эгея, как у вас. Я понял, что научить Эгею принимать входящие уведомления о заметках и «всасывать» их в свою базу будет намного проще, чем писать параллельную недо-Эгею с нуля. И это не какой-то отпочковавшийся от Эгеи параллельный проект, а самая обычная Эгея. То есть на самом деле любая Эгея умеет агрегировать заметки из других Эгей и отображать у себя, но это недокументированная фича.

Когда Эгея-источник пингует «Блоги» о новой заметке, Эгея-приёмник идёт и скачивает новую заметку себе. По умолчанию эта заметка попадает в черновики Эгеи-приёмника. Так что страница «Черновики» — это и есть админка «Блогов». Сначала все заметки просто попадали туда, и я их публиковал оттуда руками, как в обычной Эгее. Когда блогов накопилось много, это стало трудновато делать, и я добавил кнопочки, чтобы апрувить источник целиком, то есть чтобы его заметки сразу попадали в ленту. Если у вас Эгея и вы зайдёте в шаблон, отвечающий за вывод заметок (notes.tmpl.php), вы там увидите код для админских кнопок. У вас они не выводятся, потому что у ваших заметок нет внешнего источника.

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

Ещё про страницу «Блоги»:

Список — для проверки, а не для рассказа

Вы уже знаете, что список — это однородные члены. Сегодня — о том, когда ставить список, а когда нет.

Иногда списками на сайтах и в рекламе оформляют разные хорошие свойства товаров:

Но когда человек видит список, он читает два-три пункта и мысленно продолжает «и так далее». Если самое важное находится в пятом элементе списка, об этом уже никто не узнает.

Поэтому если нам важно донести до человека преимущества продукта, стоит внести разнообразие в подачу:

Справа — то, как гавайский автопрокат Энви показывает разные особенности сдаваемых машин.

Представьте, что вы пришли в магазин и вас встретил продавец. Он не станет перечислять монологом все преимущества товаров и самого магазина; он будет упоминать о них по мере ответа на ваши вопросы или «заодно» с показыванием товаров. Вот так и тут.

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

Но это если нам важно донести до человека.

Бывает ситуация обратная: когда самому человеку важно что-то узнать о товаре. В этом случае он мотивирован дочитать список до конца. Вот в том же Энви экран, где человек уже бронирует машину:

Справа снизу с галочками перечислены все «плюшки». Здесь человек близок к расставанию с деньгами, и он захочет убедиться, что ничего не забыл. Поэтому оформлять такую штуку «нелинейно» было бы негуманно.

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

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

А вот Айфон показывает, что нового в обновлении:

Это скучный экран, но он тут и не пытается продать это обновление. Он просто информирует человека. Мне может быть самому важно убедиться, что определённый баг исправлен.

Но когда самому Эплу нужно рассказать о новом большом обновлении, они верстают нарядную страницу и не делают никаких списков.

Приведение в чувство указателя в метро

 4 мин

Я много раз рассказывал, что советская традиция давать станции несколько названий вместо одного на всех линиях — кретинизм. И даже посвящал проект «Перезагрузка» визуализации человеческого варианта.

Вот очередная причина, почему это бред. Попалась мне сегодня такая фотка:

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

Раз станции неведомые, можно было бы предположить, что это какое-то продолжение жёлтой линии в пригород, но нет: тут около всех станций обозначены какие-то пересадки. Значит явно эта линия пересекается со станциями, которые я должен знать. Но это знание никак мне не помогает! Единственное знакомое слово — Шелепиха; я помню, что это где-то к северо-западу от Делового центра вроде.

Что будет, если спросить у человека «что такое Петровский парк»? Он ответит «это Динамо». Так с каких херов он тогда называется Петровский парк, а не Динамо? С каких херов Полежаевская называется Хорошёвской? Я не могу передать, насколько у меня бомбит от этого, это же настолько очевидная ошибка, ошибка, ошибка; что не так с людьми, которые это придумывают, что они этого не видят? почему они не могут прийти в сознание? и почему тогда именно они принимают эти решения?

Смотрите, если написать понятные людям названия, указатель обретает хоть какой-то смысл:

Ладно, а что такое ЦСКА? Тут она обозначена как пересадка на бирюзовую Каховскую линию (11), но я пока не знаю станции ЦСКА на ней.

А фишка в том, что это никакая не пересадка! Просто временно эта линия, на которой мы сейчас находится, одновременно как бы и жёлтая (8А) и бирюзовая (11). Это отдельная шиза, сейчас не про неё (хотя за неё тоже кто-то должен премию получить).

Почему тогда не сделать хотя бы так? Я убрал бирозовые кружки «11», повторяющиеся около каждой грёбаной станции:

Итак, «Динамо» в заголовке. Так это что же, мы на станции Динамо? Почему тогда среди оставшихся станций снова Динамо? Ах вот оно что! Динамо — это направление, а не название этой станции! Фак-фак-фак. Я не понимаю, за какие провинности метро делает это со своими пассажирами. Про то, почему не нужно использовать конечные как ориентир я тоже уже писал.

Напишите нормально:

Ура, прозрение! Теперь видно — отсюда отправляются поезда на север и вот какие станции предстоит проехать: Шелепиха (с пересадкой на МЦК); Полежаевскую (очевидно, фиолетовая линия); ЦСКА (хрен знает что, но видно, что нет пересадок, так что ясно, что станция новая); и конечная — Динамо (очевидно, зелёная линия).

Ну а если кому-то греет душу обозначение направления через названия станции, держите:

Исходная фотография, как выяснилось, из поста в сообществе Моссуб.

Тупой сценарий обновления на Маке

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

Через несколько секунд после запуска программа сообщает, что есть обновление и предлагает скачать:

Ты соглашаешься, она начинает качать:

Пока она качает, ты переключаешься в основное окно программы заниматься тем, зачем её запустил:

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

А потом, когда ты её запускаешь в следующий раз, ты снова видишь вот это:

И снова соглашаешься, и оно снова начинает качать то, что уже давно скачала:

И так до бесконечности.

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

Унитаз и привычка

Такие объявления плохо работают:

Дело не в невнимательности и не в злонамеренности. Дело в привычке.

Мы читаем объявление и прекрасно его понимаем. Ну или не понимаем, но догадываемся, о чём нас просят (в данном случае — ни одного знакомого мне слова):

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

Но у большинства из нас унитаз дома исправен — в него можно бросать бумагу, тампоны, мелкий мусор, и ему ничего не будет. Поэтому мы на автопилоте действуем как привыкли. Даже если мы ровно в момент броска читаем объявление, мы всё равно бросаем бумагу! Здесь просто отсутствует момент принятия решения. Мы читаем и думаем над прочитанным одной частью мозга, а нашими движениям управляет другая.

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

Интересно узнать, как часто в самолётах всё-таки бросают бумагу.

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

В кафешках же всё обычно, по-домашнему. Вот мы и не задумываемся.

А вот это — отстой:

Такие объявления не вызывают желания пойти навстречу. Что значит «и другие посторонние предметы», вы вообще с какой планеты? С какого перепугу туалетная бумага в туалете — посторонний предмет?

Если починить унитаз не получается, то, я думаю, надо делать так:

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

Книга Элияху Голдратта «Цель»

 4 мин

На самом деле называется «Цель: Процесс непрерывного совершенствования».

Лабиринт

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

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

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

С одной стороны, когда это слушаешь — очень странно. Ты директор завода и никогда раньше не задумывался о том, как твой завод работает и откуда берутся деньги? Как ты вообще стал директором?

С другой, я-то не директор завода, и о многих вещах не задумывался вполне правомерно. Главное, на что мне эта книга открыла глаза — это то, что шаги оптимизации на предприятии могут быть совершенно не очевидны интуитивно. Прямо как в программировании! Иногда вдруг всё начинает работать сильно лучше, если ты сделаешь шаг, который «очевидно» навредит, и наоборот.

Скажем, некие детали нужно обработать на станке. Перед этой обработкой станок нужно целый час настраивать именно для неё. А для других деталей нужно целый час перенастраивать по-другому. Очевидно, что рационально группировать детали по кучкам: один раз настроили станок по-первому и обработали всю первую кучку; потом по-второму и обработали всю вторую; и так далее. А вот перенастраивать туда-сюда и обрабатывать разные детали по одной — неэффективно, потому что теряется много времени на перенастройку, во время которой станок простаивает. Согласны?

А вот и попались! Мы вообще никак не можем судить о том, что эффективнее, глядя на один этот станок, потому что это одна из ста работ на конвейере! Возможно, из-за того, что мы экономим на перенастройке этого станка, у нас вторая кучка лежит и ждёт своей очереди на обработку, в то время, когда весь остальной завод стоит и ждёт именно эту вторую кучку. И на самом деле мы своей «оптимизацией» сделали этот станок узким местом, хотя он мог бы, даже с учётом затрат времени на перенастройку, своевременно обеспечивать следующие этапы производства «исходниками».

Или вот есть печь, в которой детали должны зачем-то нагреваться десять часов. Этот процесс нельзя прервать, так что если во время этого нагревания подошли ещё детали, нельзя их «доложить»; нужно дождаться, пока предыдущие «пропекутся», разгрузить печь, потом засунуть новые. В печь влезает сто деталей. Вопрос: в какой момент загружать детали в печь? Можно так: как накопилось сто, загружать и выпекать. Иначе ведь, если загрузить только двадцать, получится, что печь работает «не в полную силу». Но с другой стороны, если двадцать не загружать, то и печь простаивает, и детали пролёживают. Как правильно сделать? Может, выбрать какую-то золотую середину, типа, когда пятьдесят подошло, загружать?

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

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

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

Там, конечно, есть ещё примеры. Это всё вправляет мозги.

Программа «Конспект»

 4 мин

Коля Товеровский с командой единомышленников выпустил программу для Мака «Конспект». Это специальный блокнот для осмысленного ведения записей во время встреч с клиентом:

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

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

А в качестве результата «для всех» была представлена только промостраница будущего продукта:

(Ну, что делать, такой флекс. Лучше так, чем не допуститься до защиты).

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

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

Когда только начали делать, сначала все представляли какую-то страничку с четырьмя колонками, как нарисовано в книге:

Типа, пишешь где-то текст, а потом отдельные его куски как-то переносишь в одну из колонок.

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

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

Тут руководитель проекта Анна Доронина дала интервью «Кто студенту», где рассказывает о непростой истории проекта. У неё там процесс дизайна в трёх скриншотах, но на самом деле вариантов было намного больше.

С Бирманом легко: он достаточно толерантен, матом не пишет.

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

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

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

После защиты дипломов я перестал следить за судьбой проекта, и выход маковского приложения для меня для самого стал сюрпризом. Зацените тоже: «Конспект».

Ранее Ctrl + ↓