• Старье (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)

    Рубрика “Старье”, выпуск второй. В этот раз предлагаю вам мультфильм “Здесь могут водиться тигры” по мотивам рассказа Рея Бредбери:

    На что обратить внимание: во-первых, уникальный стиль рисования а-ля шариковая ручка. Необычно, приятно глазу. Далее контекст: 89 год – время упадка СССР, уже был Чернобыль, идеология не та. Тем не менее страна выпускает мульт на филосовскую тему. Ну и сам мульт относится к категории “для взрослых”. Это когда прочувствовать его можно только в тридцать-сорок лет. Вот такая в нем закваска.

  • Золушка по-немецки

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

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

    Во-первых, не было никакой феи-крестной. Ее роль выполняли три голубки на могиле матери.

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

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

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

    Вот такой трешачок на последних минутах. Как у Тарантино.

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

    Поэтому Мери Поппинс, Карлсон и многое другое из Астрид Линдгрен — это именно пересказы.

  • Проблема XY (2)

    Продолжение недавнего поста о проблеме XY. На этот раз — с конкретным примером.

    В сообществе Кложи кто-то спрашивает: подскажите профайлер, чтобы отладить код. Выкидывает OufOfMemoryException (OOM), потому что утекает память.

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

    Слово за слово, и человека уговорили показать упрощенную версию кода, в котором течет память. А там… как бы вам описать? Идея очень простая: нужно пройтись по строкам файла, сжатого GZIP-ом. В каждой строке лежит джейсончик. Его нужно минимально обработать и записать в базу, а сломанные записи собрать для будущей починки.

    Каждый писал такой код сто раз: это банальный цикл с try/catch. Что же было у автора? Ощущение, что он собрал все выкрутасы, какие только знал. Своя ленивая коллекция через lazy-seq, замкнутая на открытом Reader-e. Глобальный атом, накопление ошибок в иммутальный вектор вместо логов. Функция, которая возвращает функцию. И это только сокращенная версия! Настоящая химера: тело льва, крылья орла, хвост змеи. И где-то здесь течет память. Счастливой отладки!

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

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

    Чем это отличается от примера с профайлером? На мой взгляд, ничем. Это чистый, незамутненный пример проблемы XY. Автор написал говнокод и надеется, что профайлер каким-то образом его исправит. Нет, не исправит, а только займет лишние пару дней на установку и чтение документации. И пусть даже найдется место, где память течет — как это повлияет на код в целом? Говнокод останется говнокодом.

    Вроде бы автор не офисный работник или таксист, а программист, но не понимает этого.

  • PostgreSQL в браузере

    Пишут, что появился Постгрес для браузера, скомпилированный из сишных исходников в WASM. Размер 3 (три) мегабайта. Работают встроенные расширения, включая триграммы, ts-вектор и прочее. Открыл REPL на сайте и поигрался с командами – работает! Это настолько хорошо, что напоминает сон из детства.

  • Старье (1)

    С вами новая рубрика “Старье”. В ней выходит все то, что можно назвать старьем. Зачем? Потому что новый контент вам и так закинут, а кто же подкинет старый?

    В первом выпуске: короткометражный фильм “Математик и черт”. 20 минут, СССР, 1972 год:

    На что обратить внимание: манера съемок и монтажа, спецэффекты. Детали быта, курение в комнате, слегка пренебрежительное отношение к женщине.

    Ну и главное: СССР не жалел денег на популяризацию науки.

    В комментариях отметился один из тех, кто участвовал в съемках фильма. Судя по датам — глубокий дедушка.

Страница 6 из 86