7 заметок с тегом

наблюдения

Что общего у веб-сервиса и звездолёта

Шутка про IT и глупые клише в современной фантастике. Кратко:

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

Кинофантастика последних лет стала точнее описывать тенденции технического прогресса. Теперь в космических кораблях будущего все глобальные проблемы решаются на высоком системном уровне: переключениями светящихся проводов, спортивным хаком ядра ОС и прочими впрысками макгаффина в консоль реактора.

Энсин Тилли спасает Дискавери

Энсин Тилли спасает Дискавери с закрытыми глазами

Глупостей хватает в любой космоопере, приведу три примера на мотив свежего Стартрека.

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

— Я знаю, что делать! Переключим дефрижератор на амрижератор по обводному контуру и инвертируем тахионную центрифугу!

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

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

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

Бип и Буп нашли задачу по силам

Бип и Буп нашли задачу по силам

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

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

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

Живите долго и процветайте!

Живите долго и процветайте!
3 июня   наблюдения   постирония

К чему приводят ошибки валидации

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

Расскажу одну такую историю, а в конце поделюсь выводами.

Я купил в московском магазине железяку с доставкой до двери компанией СДЭК. Железяка быстро доехала, но вручить посылку у транспортной компании просто так не получилось: Плутон стал ретроградным и я вновь попал в какой-то каскадный баг.

Мне написал менеджер магазина: посылка уже в городе, но в СДЭК не могут со мной связаться. В пропущенных было пусто, поэтому я решил проверить реквизиты в накладной СДЭК и в договоре с магазином.

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

Связаться непосредственно со СДЭК не вышло. На горячей линии никто не отвечал, виджет онлайн-звонка два раза подряд выдал маркетинговой чепухи, сослался на занятость операторов и закрылся. Форма заказа обратного звонка попросила обязательные имя, телефон, город, тему запроса и номер договора. Затем она сломалась и перестала показывать города после буквы «б». Я выбрал Абакан, но мне всё равно никто не перезвонил. Не особо надеясь на ответ, я написал СДЭК в ВК-сообщество.

Скрин от 11 мая. Если не актуально, можно и не читать

Решил действовать через магазин. Менеджер оперативно связался со СДЭК, но выяснил только, что курьер приезжал, не дозвонился и доставку перенесли на завтра. Адрес в СДЭК не исправили, сказав, что курьер всё уточнит перед поездкой. Но ему никто ничего не сказал, поэтому сначала курьер попробовал сдать посылку по неверному адресу.

Транспортные компании требуют предъявлять паспорт, но курьеры часто отдают посылки без проверки документов. Это логично: какая разница, кто заберёт груз, если адрес правильный. Теоретически, на первом адресе без дроби могли оказаться ушлые шутники и мне пришлось бы нудно бодаться вначале со СДЭК, а потом и с магазином.

Выводы

Как избежать каскадной жести.

  1. Типовые сообщения для ошибок — зло. Хорошо подсказывать пользователю, что он делает не так. Например, в каком формате следует вводить адрес, если некому научить форму парсить эти данные самостоятельно.
  2. Если отваливается справочник городов, нужно давать пользователю указывать город произвольно. Выпадающий список должен показывать, что он сломан, данные не загружены и следует попробовать позже.
  3. На выходные и праздники стоит менять скрипт автоответчика, чтобы пользователь не ждал ответа. Робот не должен просто обрывать звонок, если операторы долго не отвечают, а подсказывать альтернативные способы связи.
  4. Чтобы сервис работал, компании нужно сервисное мышление, а не сервисные ценности.
  5. Клиентским сервисам лучше совсем не принимать сообщения через ВКонтакт, чем отвечать через трое суток.
  6. Формальная вежливость лучшее, чем безразличие. Хорошо доводить любой диалог до логического конца, это оставляет положительное впечатление.

Upd. Комменты закрыты из-за спама, приходите в ВК-пост.

12 мая   UX   наблюдения   приключения

Ошибки и задачи с известным решением

Ошибаться неприятно. Провалил собеседование, заблудился в аэропорту, выскочили красные буквы в программе — чувствуешь стыд и досаду. Кажется, что всё можно было сделать правильно, если быть чуть лучше.

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

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

Учебные и игровые задачи предусматривают решение.

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

Задачи реального мира устроены иначе. Их никто не составляет с учётом наших способностей, а конечный результат мы формулируем сами. Но наше мышление субъективно и стереотипно, а знания ограниченны. Мы видим только свои действия и не осознаём бесчисленного количества других факторов, влияющих на результат.

Реальные задачи могут вообще не иметь решений по независящим от нас причинам.

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

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

В реальном мире ошибки неизбежны, а полный контроль недостижим.

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

  1. Стараться находить ошибки вовремя
  2. Оперативно исправлять, что получится
  3. Научиться оценивать последствия
  4. Разбирать причины и степень своего влияния на ситуацию
  5. Исключать повторение уже известных

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

upd. Я устал чистить комменты от спама, поэтому они закрыты. Приходите в комментарии под ВК-постом :)

16 марта   гуманизм   наблюдения

Вредные советы начинающим фантастам

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

Картинка Ulv Vind

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

  1. Вводите новые сущности и понятия
  2. Постоянно увеличивайте масштаб происходящего
  3. Будьте непредсказуемы

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

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

Вводите новые сущности и понятия

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

Объяснять логику и принцип действия фантастических штук не обязательно. Главное — подобрать хорошее название, которое подтолкнёт воображение читателя в нужную сторону.

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

Комната, Яйцо, Дверь, Дрель, Колодец

Второй способ. Подберите звучное сочетание научного термина и интуитивно понятного существительного:

Квантовый маятник, Темпоральный колодец, Квазарный дворец, Тахионный двигатель, Плазмоидный контейнер, Лазерный поглотитель, Корпускулярный карман, Солярная гвардия

Слова можно слеплять, менять местами и ролями:

Тета-счёт, Фотонопланер, Квазиклон, Контейнерная плазма, Хроно-конвейер, Ноль-гравитон, Багровый планетоид

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

Ваше мегапреосвященство! Гигалёт метагвардии вышел из гиперпространства сразу за танс-туманностью, они готовят мегабластерные био-торпеды!

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

Амбидекстральный трансфокатор, гигерциальный плазмотрон, сингулярный бифуркатор

Увеличивайте масштаб

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

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

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

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

Будьте непредсказуемы, нарушайте правила

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

Если правил в повествовании нет, история превращается в кашу и читателю становится скучно. Если правила слишком строгие, история развивается предсказуемо и читатель опять скучает.

Чтобы читателю было интересно, вводите правила и нарушайте их в критических точках сюжета, подтверждая догадки и удивляя поворотами:

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

Психопроекция не может двигать предметы, но при сильных эмоциях фантом становится осязаем.

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

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

Комплексный пример

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

Они приносят Дика в жертву Спиральному Червю, но Дик случайно активирует Стража — охранную систему, оставшуюся от загадочных Древних. Страж дезинтегрирует мутантов, но Дика берут в плен повстанцы. Теперь он вынужден помогать им в свержении короля Ультрала. Повстанцы захватывают колодец, что провоцирует восстания по всем мегамурайвейникам на планете. Победа близка, но Планетарный Владыка запускает циклотронные ракеты с избирательным ретро-вирусом.

На связь с Диком выходит таинственная аристократка, которая объясняет, что он — тайный клоно-сын самого Планетарного Владыки, которого сделало тайное общество, чтобы посадить на трон марионетку. Но сопротивление похитило и спрятало клона, узнав, что Владыка — носитель редкого инфо-гена. Именно по этой причине в теле Дика прижился наномеханический ключ к древним артефактам, который она передала ему вместе с поцелуем. Теперь политика отошла на второй план. Дик должен открыть Скрытое Хранилище и спасти планету. Если этого не сделать, вспышка некроэнергии пробудит Жнеца — чудовищную некромашину из Антивселенной, что замаскирована голограммой под одну из Бледных лун.

Дик находит Хранилище, но там его встречает сам Планетарный Владыка. Он говорит Дику, что готов признать его сыном, предлагает вместе обрести бессмертие Древних и свергнуть императора галактики Галакторика. Но Дик отказывается и побеждает ультрамех Владыки. Дик прощает отца, но тот не признаёт поражения и рассыпается на молекулы от ультрачастотного вопля.

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

Жнеца защищает пустотное Ноль-поле, не пропускающее ни один вид энергии. Дик использует новоприобретённые силы и через одного из кибер-локустов проникает в квазисознание Жнеца. С помощью техно-медитации Дик побеждает его тета-проекции и видит сто миллионов спящих Жнецов, раскиданных по всей галактике. Там же он находит координаты темпоральной складки, в которой спрятан Квазарный дворец Пустотного короля — богосущества, создавшего Жнецов. Но Король оказывается всего лишь рабом Абсолютного Ужаса — посланника Тьмы из Антивселенной.

Конец первой части.

Я бы написал и вторую, но, похоже, цикл Предначертанности — мой предел, а повторяться несолидно. Буду рад предложениям в комментариях :3

UPD. Возможно, концовка показалась вам чересчур упоротой, но это вы не пробовали читать цикл Фреда Саберхагена «Берсеркер» про разумные машины-убийцы из глубокого космоса :3

Отбрасывать здравый смысл и не скатываться в убогий абсурд — редкий талант. Получается у Алехандро Ходоровски и авторов манги Гуррен-Лаганн.

Как преодолеть писательский ступор

У меня часто бывает, что нужно что-то написать, а слова не идут. Вроде задача простая, о чем сказать примерно понятно, сырьё собрано, а текст не пишется. Такое состояние называется писательским ступором.

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

Причины ступора

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

  • устал;
  • раздражен;
  • страдаю перфекционизмом;
  • не до конца понимаю, что хочу сказать.

Усталость. С усталостью всё понятно: много работал, не выспался, что-то отвлекает и истощается ресурс внимания.

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

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

Иногда я по полчаса сижу над кривой фразой, которую и оставить нельзя, и переписать не получается. Можно, конечно, уговорить себя оставить так и потом доделать. Но мысль о неудачной фразе будет зудеть и отвлекать от остального. Если фраза — дрянь, то и весь текст тоже, силы расходуются впустую. Гнев → вина → стресс → прокрастинация → горячие коубы.

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

Обычно в таких случаях я прокрастинирую или бесцельно смотрю на текст, пытаясь найти в нём проблему. Но часто проблема не в тексте, а в том, чего в тексте нет.

Мне очень нравится эта мысль, поэтому ещё раз, в афористичном ключе:

Часто проблема не в тексте, а в том, чего в нём нет

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

Методы борьбы со ступором

Устали — отдохните. Можно отвлечься, поесть кураги, сходить в парк или поспать. Если полноценно отдыхать некогда, поможет 20 минут сна или частые перерывы без переключения на другие задачи.

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

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

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

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

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

Когда не хватает понимания, работают два приёма.

Разберитесь в сути. Сформулируйте мысль тезисно, выпишите основные моменты в столбик, напишите своими словами. Так вы выявите пробелы в знаниях и у вас на месте пустоты появится черновик, который можно расширить, переписать и реструктурировать.

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

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

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

Выводы

  1. Писательский ступор возникает из-за усталости, негативных эмоций, перфекционизма и нехватки понимания.
  2. Все эти причины, как правило, вызывают прокрастинацию, но ею не исчерпываются. Учитесь слушать себя и находить корень проблемы.
  3. Просто отмахнуться от перфекционизма не получится. Если вам кажется, что вы написали плохо — вам не кажется. Скорее всего, вы устали или исчерпали текущие возможности. Перепишите, смиритесь или запланируйте вторую редакцию.
  4. Погружайтесь в материал и задачу, пока не достигнете полной ясности. Составьте план и распишите тезисы. Если это не поможет, переключитесь на задачу попроще.

Границы манипуляции

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

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

Неэтично лгать и создавать негативные мотиваторы: чувство вины или тревоги, давить на жалость или самооценку.

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

2019   инфостиль   наблюдения   этика

Как сделать мир чуть лучше

Началось с того, что я написал текст вакансии Девхаба для Моего круга. Админка даёт править HTML-код, поэтому решил сделать красиво: обернул текст в теги и прогнал через лебедевский Типограф.

Оказалось, при сохранении админка съедает спецсимволы, союзы и предлоги остаются висеть. Выглядит непрофессионально, а разрыв в ссылке и вовсе за пределами добра и зла:

Замена   на спецсимвол «Неразрывный пробел» (Alt+0160) тоже не помогла: админка съела и его.

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

Здравствуйте, я редактор компании Девхаб. Публиковал вакансию и столкнулся с проблемой: не могу проставить в тексте неразрывные пробелы. Ни в режиме HTML, ни спецсимволами. После сохранения они иногда остаются, а иногда сбрасываются. Из-за этого текст выглядит неряшливо, а я становлюсь печален.
Подскажите, есть какая-то возможность добавить неразрывные пробелы? В идеале &nbsp, но пойдет и символ UNICODE.

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

Именно так я письмо и прочитал, на старом телефоне.

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

Стало и было

Мораль

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

Ссылки по теме

Вакансия фронтендера на React/AngularJS

Типограф Лебедева

Википедия про неразрывный пробел

2017   Девхаб   наблюдения   работа
UX