Позднее Ctrl + ↑

Возможное объяснение проблемы поиска в Эгее

Роман Парпалак прислал интересное письмо, возможно, объясняющее, почему у некоторых не работает поиск в Эгее:

Теперь я окончательно понял, в чем дело. MySQL выкидывает из индекса слова, содержащиеся как минимум в 50% записей. Пока заметок две, любое слово содержится как минимум в 50% строк, и ничего не находится. Эксперименты эту версию подтверждают. Нужно минимум 3 заметки, чтобы поиск заработал.

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

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

Решение по-эпловски

Об одном из сильнейших приёмов в решении любой дизайнерской проблемы пишет у себя Женя Арутюнов. Вот встроенный в Мак простейший текстовый редактор Текстэдит:

Встроенный в Мак текстовый редактор Текстэдит

Типа проблема в том, что тулбар может не влезть в окно по ширине. А решение состоит в том, чтобы не считать это проблемой. «Не поместился — значит не поместился», — пишет Женя.

Этот приём мы называем «решением по-эпловски». Исходная формулировка у нас была такая: «Решить по-эпловски — значит сделать вид, что проблемы нет». Но со временем я понял, что «сделать вид» тут лишние. Проблемы ведь реально нет. От этого продажи Маков не упадут, недовольные пользователи не станут звонить чаще в суппорт, ни один пользователь не задумается о переходе на Виндоус. Во вселенной никого не волнует, что будет с этим тулбаром, если он не влезет!

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

Безусловно у Эпла полно недодумок и недоделок, и не исключено, что в данном случае они просто не предусмотрели этой ситуации, и поэтому оно работает как-то так, как получается само собой. Однако нам тут важно не Эплам оценку дать, а самим правильный вывод сделать. Тем более, что если бы они её предусмотрели, что почти наверняка оставили бы ровно так.

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

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

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

Предложение

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

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

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

Вроде ж это понятно должно быть.

Синхронное и асинхронное

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

Бывает, сделаешь страничку, а медленный скрипт блокирует её загрузку. Дописываешь в нужное место параметр async — и проблема решена, теперь страница и скрипт грузятся синхронно! У вас не взрывается от этого мозг?

У меня — в клочья.

Без малого

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

Проплавал Федот без малого год

Из первого попавшегося литературного произведения, найденного по фразе «без малого» на lib.ru

Без малого год — это меньше года или больше года?

Тут проплавал = годмалое или проплавалмалое = год?

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

А-а-а, жесть, это просто нереально понять! Я вроде запомнил, что это означает «чуть меньше», а не «чуть больше», но у меня мозг перегревается каждый раз, когда приходится это выражение парсить. Чё, трудно внятно написать «почти» или «чуть больше» или ваще не трахать мозг и просто сказать «проплавал где-то год»?

Зерулс сегодня нахаляву

В прошлом году 1 сентября на сайте Зерулса появился РСС. А в этом году в рамках празднования этого великого праздника мы раздаём Зерулс для Айфона совершенно бесплатно! Не провафлите, завтра цена вернётся. Кнопка:

Шеффилд

Давненько я не писал про снукер. А тут такой отличный повод.

Это рекламная заметка

Теперь в Челябинске есть «Шеффилд» — новый бильярдный клуб, в котором, наконец-то, можно играть не только в «русский», но и в снукер. В клубе 11 новых полноразмерных столов с шикарным светом и всем оборудованием. Для тех, кто привык играть как положено, в спокойной обстановке, по многу часов, есть отдельные залы — один с русским и один со снукерным столами.

Шеффилд

Сайт: sheffieldclub.ru

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

Кстати, Шеффилд — город в Англии, где уже более 30 лет проводятся чемпионаты мира по снукеру. А снукер, если вы не в курсе, — это самая интересная бильярдная игра.

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

Короче, приходите туда скорее. Адрес — улица Савина, дом 1 — это в здании тренировочного комплекса «Трактор», недалеко от театра ЧТЗ.

Дизайнеры и специалисты

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

Вот некто Вадим пишет в комментариях:

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

Сколько уж раз у меня на сайте такие споры случались. Я пишу: ясное дело, что надо сделать так. И тут же вылезает профи, который отвечает, что я ничерта не понимаю в том, о чём говорю, надо оставить всё как есть, а мне надо учиться пользоваться или идти нафиг.

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

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

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

Фотошоп: смешивание, маски, клонирование и рука

Привет, с вами стопятьсотый выпуск открытий в Фотошопе. Тут в основном то, что я уже давно знаю, но о чём почему-то ещё не написал.

Когда-то я узнал, что способы смешивания слоя можно переключать через Шифт-плюс и Шифт-минус, и думал, что это очень круто. Но можно ещё круче: Альт+Шифт+буква. Например, Альт+Шифт+S = Screen, а Альт+Шифт+M = Multiply.

Чтобы воочию увидеть растровую маску слоя и нормально поредактировать её, нужно кликнуть в неё с Альтом. Шифт-клик включает/выключает её. А Альт+Шифт-клик отображает её розовым цветом, как в режиме Quick Mask.

Клонирующим штампом часто хочется склонировать кусок под немного другим углом, например, если нужно заретушировать кусочек чего-то, что постепенно изгибается. Раньше я для этого делал копию слоя, поворачивал её, и клонировал уже оттуда. Жуть. Оказывается, всё проще, для этого есть специальное поле в панели Clone Source:

Панель Clone Source в Фотошопе

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

Ховер из овер

Пришло время попрощаться с ховером. Больше нельзя делать, чтобы что-то ценное появлялось или срабатывало при наведении. С айпадами уже достаточно много народу, чтобы не рассчитывать на наличие у пользователя «наводимого» устройства ввода. И ясно, что число этих людей и устройств будет только расти (жалко только, что Эйч-пи сдулись, я думал, у Айпада появится хоть какой-нибудь конкурент).

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

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

Ранее Ctrl + ↓