-
Старье (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 год:
На что обратить внимание: манера съемок и монтажа, спецэффекты. Детали быта, курение в комнате, слегка пренебрежительное отношение к женщине.
Ну и главное: СССР не жалел денег на популяризацию науки.
В комментариях отметился один из тех, кто участвовал в съемках фильма. Судя по датам — глубокий дедушка.