• Файлы Yaml

    Пару дней назад я славно покувыркался с yaml-файлами.

    Значит, есть два репозитория с плейбуками Ansible. Нужно добавить в каждый файл новую таску. Копирую и вставляю в первый — все в порядке. Копирую во второй, и на CI лезут ошибки парсера.

    Смотрю, а дело вот в чем: в первом файле были отступы в два пробела. В том куске, что я копировал, было тоже два, поэтому он сел без проблем. А во втором файле кто-то использовал четыре пробела. Вставил таску где-то посередине, и пожалуйста: ParserException on line 63, position 15. Тупил над этим десять минут, еще десять минут заняла вторая неудачная итерация, в итоге через полчаса починил.

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

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

    Разумеется, вы готовы предъявить: в Питоне отступы и он популярен. Съел? Все равно считаю, что пробелы — это ошибка. Когда я занимался Питоном, у нас были свои кулстори на эту тему. Например, оператор return уехал из-под условия или в критический патч закрался таб — и наложение этого патча положило прод.

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

  • Аватарки

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

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

    Человек с микрофоном на аватаре напоминает кису с новым айфоном. Глупый китч. Не надо так.

  • Сбой времени (2)

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

    У меня два мака: корпоративный для работы и личный для ютубов. Два зарядника, значит. На личном батарея так себе, и ее нужно часто заряжать. Чтобы не таскать зарядник в офис, я сделал так: соединил рабочий мак с личным по Type-C. Поскольку рабочий мак на своем заряднике, он снабжает питанием личный мак. Зарядник для личного лежит дома.

    Хорошая идея, но посыпалось она вот на чем. Оказалось, что когда один мак питается от другого мака, он только питается, а не заряжается. В системном трее появляется иконка с проводом и вилкой, и если навести мышку, будет написано “Power Source: Adapter”. Но ниже — “Battery is not charging” — батарея не заряжается. Ноут как будто становится стационарным компом, который ничего не знает о батарее.

    За неделю батарея истощилась под ноль, хотя внешне это никак не сказывалось. Когда я отцепил мак от Type-C, он тут же умер. А после тяжелой перезагрузки полезли глюки со временем. Удаление базы с таймзонами и несколько циклов заряда не помогли.

    Получается вот что: можешь работать от провода, но наполнения батареи не будет. Тим Кук не одобряет, что на два мака приходится одна зарядка. Не порядок. Хочешь или нет, понадобится вторая. В качестве побочки — убитая батарейка, которая питает время.

    Посмотрим, подтвердят ли мою догадку в ремонте.

    UPD: в комментариях в Телеграме пишут, что бывают зарядки с двумя Type-C портами. Увы, они расчитаны только для мощного и слабого устройств одновременно, например макбука и телефона. Два мака одновременно они не тянут.

  • Youtube и Ghostery

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

    А сбоку такой Ghostery: что, дружище, Ютуб обижает? Тыкни чекбокс, зайди в приват и мы заткнем ему глотку.

    Тыкнул, зашел — Ютуб и вправду заткнулся.

    Забавно смотреть на эту битву: один сервис воюет с другим в моем браузере. Оплата веселья — герцы моего процессора.

  • Кассеты

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

    Сын заинтересовался ящиком с кассетами, и мы взяли его домой. Рассматривая их, я убедился, что покойный был мужчиной: ДДТ, Король и Шут, Сектор Газа. Встречается лирика: Земфира, Братья Гримм, группы позднего СССР. У человека был довольно широкий вкус: слушал и рок, и попсу, и нашу, и западную. Нашелся даже Слипкнот и какие-то дэд-метал-клоуны.

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

    К слову, современные дети не понимают мем, где рядом с кассетным плеером лежит карандаш. Серьезно.

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

    У дяди Вити была крутая коллекция западного рока и рок-н-ролла. Куин, Дип Перпл, Дорз, Пинк Флойд, Металлика и многое другое. Дядя Витя не признавал российских исполнителей: это был советский западно-ориентированный меломан. Может быть, это повлияло на мое отношение к русской музыке. Мы с сестрой даже не обсуждали, какую музыку слушать — очевидно, иностранную. Это было ясно как то, что по воскресеньям идет Дисней. И сегодня при слове “русский рок” мне хочется смеяться и плакать одновременно.

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

    Сколько дисков, кассет и книг мы брали у этой семьи — я не могу вспомнить. Некоторые книги они подарили нам, некоторые мы “забыли” отдать. Уезжая из Читы, я взял пару из них на память, и они до сих пор на моей полке.

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

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

  • Старье (3)

    Рубрика “Старье”, выпуск третий. В этот раз кое-что полнометражное: триллер “Психо” 1960 года, черно-белая пленка, режиссер Хичхок. В свободном доступе в ВК, но легко гуглится на других платформах.

    Здесь должен быть плеер, но embedded сломан, поэтому ссылка.

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

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

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

  • Подготовка к интервью

    Прочитал серию постов о том, как готовиться к интервью в большие фирмы. Алгоритмы, литкод и вот это все. Специальные ресурсы, блоги, менторы. А дочитав, подумал – как хорошо, что я в этом больше не участвую.

    Кажется, я не говорил о своем решении – больше я не готов рвать зад, чтобы поступить в условные Гугл или Яндекс. Моя тактика проста: я собираю предложения о работе в особую папочку и когда дело швах, пишу – актуально еще? И порой оказывается актуальным.

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

    Разумеется, сюда не попадают приглашения от девушек-эйчарок, потому что для фирмы это холодное обращение. Офис не отвечает за то, что вам наплела эйчар.

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

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

    Еще я понял, что алгоритмы и дизайн систем не раскрывают главного – умеет ли человек доводить дело до конца. Про себя я понял, что умею: я могу заниматься скучными вещами и доводить их релиза. Я могу чинить косяки месяцами. Могу два дня сидеть в отладчике. Как это качество связано с обходом графа – я не знаю. Зато много раз я видел, как обходчики графов сливались с задач.

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

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

    Старая заметка на эту же тему: FAANG не предлагать

  • Сбой времени (1)

    Короткая заметка самому себе.

    На одном из макбуков стало отваливаться время. В настройках указан стандартный сервер Эпла, зона правильная. И тем не менее у меня март. Не работает ни один сайт из-за протухания сертификатов, вызовы AWS и так далее.

    В интернете пишут, что лечится командой:

    sudo sntp -sS time.apple.com
    

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

    PS: пока набирал текст, время опять отвалилось. Но не пропадать же заметке.

  • Zettelkasten

    В интернете популярен термин Zettelkasten — система накопления и сортировки знаний.

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

    Профессор популяризировал этот метод в эссе «Kommunikation mit Zettelkästen». Слово Zettelkästen означает “чемодан заметок”. Профессор известен тем, что написал несколько десятков книг — надо полагать, пользуясь своей системой.

    Слово Zettelkasten стало своего рода мемом. Тысячи людей пытаются вести подобную систему знаний. Появились приложения, которые предлагают что-то похожее. Например, Обсидиан, который строит граф связей. (В скобках отмечу, что я его пробовал, и он ужасен.) Есть телеграм-каналы и сообщества, где люди делятся техниками Zettelkasten.

    Ни в коем случае не бросая тень на метод карточек, призываю подумать вот о чем. Zettelkasten — это всего лишь техника. Метод, прием. Сам по себе он не важен, потому что важен только результат. У профессора результат известен — он написал то ли 30, то ли 50 книг.

    В то же время есть люди, которые написали столько же книг, не пользуясь Zettelkasten. Это Стивен Кинг, Агата Кристи, Ленин. Безусловно, у них была своя система заметок. Не знаю, что было у Ленина, но Стивен Кинг пользовался простым блокнотом. Агата Кристи любила думать, моя посуду.

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

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

  • Вставка текста

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

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

    Это поведение везде: в офисе Майкрософта, в офисе Гугла, в Slack, в Teams, в Джире, в Confluence, в почтовых клиентах. Там, где эта фича не поддерживается на системном уровне, вступает в дело Javascript.

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

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

    У меня вопрос: какую проблему мы решаем? Чтобы что? Кто может объяснить, зачем сохранять оформление текста при вставке в другой документ? Оно же ни хрена не совпадает с моим текстом!

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

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

    И пожалуйста, не пишите про Ctrl + Shift + V и аналоги, я в курсе. Оказалось, даже в Teams это есть, нужно всего-то нажать Shift + Option + Command + V, то есть три (!) системные клавиши с одной обычной. Тьфу, пустяки.

    Интересно, кто эти клоуны, которые задали такое сочетание клавиш? Прямо сейчас нажмите на клавиатуре Shift + Option + Command + V — это, блин, что такое? Большой палец и мизинец близко, а указательный тянется к V — сущее издевательство. Теперь проделайте это десять раз, копируя текст из Википедии. Как оно?

    Как же мы оказались в такой ситуации? Базовая вставка задана на Shift + Option + Command + V, а расширенная — на Command + V. Ни у кого не осталось крупицы мозга, чтобы сделать наоборот?

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

    А в Фигме объект появляется точно над оригиналом и его можно подвинуть стрелочкой с шифтом. Казалось бы, мелочь, но освобождает столько времени! К моему удивлению, в Адобе тоже не понимают, как работают пользователи их продукта.

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