Позднее Ctrl + ↑

Предположи, что коллега подумал

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

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

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

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


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

Думаем дальше № 25 — «Перед сдачей крови не ешь» с Женей Арутюновым

С Женей Арутюновым обсуждаем как и зачем оценивать дизайнеров.

Все выпуски подкаста:
Эпл · Ютюб · Я.Музыка · Гугль-подкасты · Мейв · РСС для подкастного приложения

0:00 Как Илья и Женя оценивают дизайнеров: умение работать, чёткость, похожесть на себя и наём по законам рынка труда
11:25 Женя о сложности получения адекватной оценки себя дизайнеру
16:06 Зачем оценивать себя. «Как определить, что ты посредственный гитарист». Звучат слова «исследования» и «джобтубидан»
21:53 Как Женя придумал сделать объективную оценивалку дизайнеров. Невозможные профессии: юикс-юай-дизайнер, дизайнер на тильде
25:48 Три шкалы: эстетика, коммуникация и «бизнесовость». Графического дизайна нет
30:15 Илья разделяет «бизнесовость» и системность-логичность
36:03 Женя о платном сервисе оценки дизайнеров: борьба с жульничеством и предвзятостью, рекомендации в конце. Илья: школьный робот скриншотит в полночь
44:05 Что такое локальная и многокритериальная оптимизация
46:59 Нездоровая потребность во внешней оценке против здорового любопытства к объективным цифрам
55:22 Триггеры при оценке
56:11 Крутость дизайнера и умение проходить собеседования — разные вещи. Почему дизайнер пусть сам платит за свою оценку
1:04:49 Как развивать слабые навыки, если неохота?
1:07:07 Умение себя продавать и презентовать неотделимо от умения дизайнить. «Перельманов у нас не должно быть»
1:13:54 Ещё про ценность надёжности дизайнера, но и про важность умения работать с новичками

Китайская авиация и зажигалки

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

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

Ну сорян, по-китайски я не могу даже вопросительность интонации считать, не то, что смысл. Оказывается, если бы я вёз зажигалку, у меня бы её отобрали. Казалось бы, сделай бумажку с самолётом и зачёркнутой зажигалкой и показывай вместо зажигалки её? Но нет.

А щас другой прикол. В шереметьевском телетрапе на посадке в Пекин китаец орёт на всю очередь: this is non-smoking flight!!! Я его услышал ещё вдалеке от входа в самолёт, где он стоит, и сначала подумал, что кто-то додумался закурить, но когда он это повторил ещё и ещё раз, я понял, что нет, это за каким-то хреном просто всем объявляют. И только когда я дошёл до него, успев уже оглохнуть от его ора, я увидел, что он держит что-то вроде подноса с табличкой, что зажигалки на борт брать нельзя. Видимо, нужно сдать зажигалку ему на поднос.

При чём тут non-smoking flight? Курильщики возят зажигалки без намерения закурить в самолёте, а закурить в самолёте можно и без зажигалки.

Остатки и наблюдения из Каша

Что там осталось? Уличная табличка:

Другая уличная табличка:

Надпись:

Вид из окна:

Вид на море:

Ещё один:

Люк:

Обед:

Наблюдения — это просто всякие штуки, типа, «о как можно!»

Какой-то знак про жестовый язык:

Знак о турецких скоростях с необычно простым обозначением населённого пункта:

Невообразимое ограничение в 82 км/ч:

Фотографии из поездки в марте 2022 года. Слетайте в Каш!

См. также первую часть

Тому назад

Слышу такое повествование:

Но вернёмся на 5 недель тому назад...

И что-то мне в этом режет слух. Не знаю, почему, но мне кажется, что можно сказать «это было пять недель тому назад», но нельзя вернуться на пять недель «тому назад», на пять недель можно вернуться просто «назад». Что думаете?

Понятно, что слово «тому» тут в принципе лишнее, но такое уж выражение устоявшееся. Однако кажется, что в приведённом примере оно не работает.

Аудио по четвергам: Below The Surface

Какая мощь, давно такого не было:

Milo Raad: Below The Surface

Пишешь такой техно, учишься-стараешься, думаешь, что вроде неплохо получается, наконец, а потом слышишь такое и думаешь: ну, лет десять мне ещё надо поучиться.

Саундклауд

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

Думаем дальше № 24 — «Выпрыгивает из монитора, настолько он жёлтый» с Ромой Шаминым

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

Все выпуски подкаста:
Эпл · Ютюб · Я.Музыка · Гугль-подкасты · Мейв · РСС для подкастного приложения

0:00 Тарификация шрифтов и тарификация Эгеи
6:16 Случай с Фонтстендом
8:42 Илья и Рома хотят иметь порядок в цветах, но ни RGB, ни Lab, ни HSL, ни LCH с этим не помогают
20:49 «Восприятийная одинаковость» и OKLCH → oklch.com
22:50 Честность модели OKLCH, ограничения мониторов и пришельцы
28:09 Илья про физический смысл цвета, волны и колбочки
31:42 Чем Илью смущает OKLCH и чем особенны жёлтый и фиолетовый
35:19 Рома о преимуществах OKLCH: доступ к цветам P3, предсказуемые свойства в генерируемом дизайне при невозможности контроля каждого случая
39:48 Генерация палитры с нужными свойствами, ховеры и тональные градиенты
48:07 Илья вспоминает госты и борется за индивидуальные права жёлтого цвета, а Рома хохочет
52:52 Ещё раз о плюсах OKLCH, будущем в Фигме и браузерах и образовательной ценности
1:02:56 Красивые градиенты на ЦСС
1:05:17 Ужас цветовых профилей и проблема двух разных одинаковых цветов
1:15:17 Илья фанат RGB, не признаёт CMYK, не верит в одинаковые цвета при печати, а Рома рассказывает секрет компании Пантон

См. также:

Отношение к изменениям в языке

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

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

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

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

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

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

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

Когда, комментируя очередную заметку о языке, вы снова пишете, что язык определяют носители, и объявляете бой «прескриптивистам» (в моём лице), вы как бы говорите: «я не хочу выбирать сам, я хочу подчиниться случайным процессам». Вы же не выражаете даже несогласие с моим выбором, вы выражаете несогласие с самим правом выбирать, демонстрируете нежелание пользоваться собственным таким правом. Дело-то ваше, но я буду и дальше предлагать вам выбор.

Как работают отложенные публикации в Эгее

Смысл «отложенности» с точки зрения веб-программирования

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

Допустим, автор запланировал выход заметки на 15:00. Как добиться, чтобы в 15:00 заметка вышла? Веб-сервер умеет отвечать только на запросы, он не умеет по собственной инициативе просыпаться и что-то начинать делать. И тут почему-то многие разработчики начинают думать в сторону крона — планировщика запуска задач по расписанию.

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

Чтобы заметка вышла в 15:00, в 15:00 ничего не должно произойти, буквально ничего. Потому что что вообще значит «вышла»? Допустим вот сервер может проснуться в 15:00 и начать действовать, что он должен сделать-то? Отправить эту заметку на случайный айпи-адрес?..

Сама фраза «заметка должна выйти в 15:00» означает только одно: на все запросы, сделанные начиная с 15:00 нужно отвечать сайтом, где уже опубликована эта заметка. Если на сайт кто-то зайдёт в 14:54, а потом кто-то в 15:19, то заметку нужно будет показать по второму запросу, вот и всё.

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

Доработка системы кеширования

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

А тут нам нужно сделать, чтобы кеш каким-то чудом в 15:00 удалился несмотря на то, что автор ничего не редактирует. Разумеется, в 15:00 мы ничего делать не будем; решать этот вопрос мы будем в 15:19, когда читатель обратится за заметкой.

Но откуда мы узнаем, что именно запрос в 15:19 потребует пересборки кеша, а на тот, что был в 14:54, можно ещё отвечать из кеша? Ведь время публикации заметки хранится в базе данных, а если мы будем ходить в неё на каждый запрос для проверки, то это обессмыслит само существование кеша!

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

Таким образом фича планирование заметок на будущее фактически сводится к фиче планирования устаревания кеша.

Каш

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

Городок очень трёхмерный: перепад высот не позволяет расслабиться, даже если ты мало куда ходишь. Ответвление от центральной улицы:

Ещё улочка:

Много где вместо улиц — лестницы:

Это вроде парковка в самом центре:

Горизонт очень завален:

Классная тряпка:

Продажа ковров:

Хамам:

Дверь, светильник и знак:

Табличеньки:

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

С видом на гору:

Фотографии из поездки в марте 2022 года. Слетайте в Каш!

Ранее Ctrl + ↓