На всякий случай еще для айтишников повторю, потому что не все, кажется, понимают. Вежливо ≠ без мата. Можно токсично и без мата, со спасибо-пожалуйста, а можно максимально корректно через трехэтажный мат.
Нет: «Кто так пишет?», «Что это за говно?», «Чем ты думал?», «Опять?», «Надо пояснять?». Мата нет, но ЧСВ и дартаньянство сквозит в каждой букве.
Да: «Убери вот эту херню, а то если null в нее придет, весь стек ебнется и пиздец!» В таком коллективе с удовольствием бы поработал.
Провел в твиттере опрос, можно ли врать, с неудивительными результатами: 40% считает, что да. Из них 20% считает, что да, если это несет персональную выгоду (что еще хуже).
Твиттер, конечно, место известное, где люди путаются не в трех, а в одной даже сосне. Казалось бы: конечно же врать нельзя! Но почему-то стоит дать какое-то уточнение, и сразу вопрос становится неоднозначным. А если мне это выгодно? А если это чтобы наебать систему? А если никто не узнает? А если я очень хорошо вру? А если я зато собрал миллион лайков? Хотя вроде бы ничего не изменилось, вранье осталось враньем, и ничего хорошего в нем нет и гордиться им не стоит.
На меня лично большое впечатление произвел фильм «Выход через сувенирную лавку» Бэнкси. Это фильм не про самого Бэнкси, а про его друга-куратора, у которого очень интересная и метафоричная арка, якобы документальный. Но очень уж все красиво в конце складывается. И вот где-то ближе к концу Бэнкси вставляет такую фразу: «показывал этот фильм друзьям, и некоторые считают что я все придумал, что это такой розыгрыш (чтобы набрать классы), что ничего этого на самом деле не было. Что я full of shit. Но нет, все это взаправду».
И вот эта вот простота вернула меня в мир морального абсолютизма. Все на самом деле не сложно, а просто: обманул — даже если красиво, смешно, выгодно — ты full of shit. И ничего более. Правдивые истории в бесконечность раз важнее выдуманных. Мир строится на правде, а не на лжи. Прогресс происходит при честных взаимодействиях, а не на обмане и наебках.
Так вышло, что в нашем пост-советском обществе наебки считались поводом для гордости и это, видимо, многих путает. Не надо так. Те времена давно прошли, а в новых хороших гораздо лучше будет жить, если мы сможем доверять друг другу.
Врал ли я? Конечно врал. Приносило ли это мне выгоду? Тоже было дело. Буду ли я врать в будущем? Скорее всего. Но это никак не меняет того факта, что врать нельзя. Накручивать опыт, сдавать чужой диплом, ну камон — ну разве не очевидно, что это ухудшает ситуацию, уничтожает доверие, затрудняет взаимодействия, а не упрощает их?
В следующем выпуске разберем вопрос, можно ли бить детей. Тоже, говорят, вопрос далеко не однозначный.
Идею сформулировал @grishka, и спасибо ему за то, что повторял достаточно много раз, чтобы она во мне проросла.
Очень запоминающаяся формулировка: время не должно участвовать в аутентификации вообще никак. Сессия не должна протухать, не нужно раз в две недели вводить пароль или раз в три месяца менять его. Никак — то есть совсем никак. Если я залогинился, значит, блин, я залогинился.
Протухающие сессии, регулярный ввод пароля и галочка «запомнить меня», которая работает как плацебо, на самом деле ни от чего не защищают. Твои данные не окажутся в большей безопасности, если ты будешь логиниться каждый раз. Если у тебя украдут сессию — ну, значит украдут. Expire в две недели все равно оставляет достаточно времени злоумышленникам, чтобы ей воспользоваться, но бонусом еще ест твои нервы.
Спасибо еще, что мода «регулярно менять пароль» осталась в прошлом.
Отдельный привет гениям-программистам из кинопоиска. У меня там даже аккаунта нет, но каждый раз когда я туда захожу, я вижу сайт, через пару секунд редирект на какой-то левый домен для аутентификации (кого? чем?), и потом редирект обратно на сайт. Объяснить или оправдать это я не могу вообще ничем.
Короче, если я залогился — не разлогинивайте меня без спросу. А безопасность своей сессии я уж как-нибудь обеспечу.
Ну что, вроде бы очевидно, что к сериалу я неравнодушен, смотреть продолжаю, так что сильно постараюсь не доебываться, только к самым зацепившим местам. Хорошее тоже есть, но про него так интересно не напишешь, так что не думайте, что мне ничего не нравится или смотреть не стоит. Если бы не стоило, я бы и не смотрел. Итак, Last of Us, эпизод 2, часть 1/2.
СПОЙЛЕРЫ СПОЙЛЕРЫ СПОЙЛЕРЫ СПОЙЛЕРЫ СПОЙЛЕРЫ СПОЙЛЕРЫ СПОЙЛЕРЫ
Серия начинается с зарисовки из Индонезии в 2003-м, где случилось одно из первых заражений. Зараженного показывают профессорше (это преподавательская должность, если что, не научная), она глядит в микроскоп и такая: пиздец, бомбите нас всех нахуй. Что выглядит, конечно, эффектно, но — бомбите? Серьезно? Вот так сразу? Без полдня на подумать? Может, еще с кем-то проконсультироваться? Может другие способы есть? Лечение может поискать? Зараженных половить? Изолировать там, карантин, анализы, пропускной режим? Еще забавно, что профессор грибологии визжит, как студентка, при виде гриба. Очень научно, ага.
К бомбить тоже есть вопросы. Вроде как намекается, что это как раз то, что они в итоге и сделали, причем по всему миру. Но бомбежки это оружие скорее точечное, а тут нужно тотальное, разве нет? Людей-то вы, может, немножко убъете, а грибы еще и раскидаете по сторонам. Короче, сомнительно все это очень.
Дальше идет сцена, где девочке долго объясняют, где и как ей писить и какать. Наверное, хотели напугать нас хардкорностью пост-апокалипсиса. Ух, журналом приходится подтираться! Вот это условия! (опустим, что девочка, например, всю жизнь так живет, вообще-то).
Идет перекус сендвичем с курицей. Курицу я еще могу представить, но хлеб? Он еще и намазан соусом каким-то он. Ух, вот это хардкорность! Но я рад, что индустрия супермаркетов и мамы, собирающие дочкам рюкзак, в пост-апокалипсисе не пострадала.
Следует мой любимый троп «припрем дверь шкафом, а она открывается наружу» (Большой Лебовски великий фильм, да), и наша компания выходит наконец на свежий воздух (чего не помешало бы сделать и этому ревью).
К свежему воздуху у меня только один вопрос — оно не ощущается пустым. В смысле людей нет, должно быть ощущение заброшенности какой-то, не? Вместо этого в каждом кадре столько деталей и красоты, что как-то и непонятно, а что, собственно, мы потеряли? В какой-то момент герои любуются видом, и он реально красивый, а не разрушенный/заброшенный/унылый/страшный. Хоть бы кто-нибудь сказал «а ведь без человека мир не так уж и плох», но нет, никто этого не говорит. Это уже территория философии, а мы тут про побегать от зомби собрались, зачем настроение портить.
На самом деле я почти уверен, что если бы не было так красиво, то оно не стало бы таким популярным. Американцы, конечно, на словах любят, когда их пугают, но в первую очередь понарошку, чтобы с сендвичами и мамой с папой.
Ресторан, в котором взрывом выбило окна, но стаканы (все!) остались красиво стоять на столах? Ну да, ну да.
Элли рассказывает, как ее укусили в первый раз. Напоминаю, ей «14» лет (акртисе 20, но эй, это же Голливуд!) и она родилась и выросла в карантинной зоне, ни разу не выходила за периметр. Как же ее укусили? Оказывается, внутри карантинной зоны есть молл, в который «не рекомендуется ходить», а она из любопытства пошла и ее укусили. Не знаю как вам, но зараженный молл внутри периметра звучит, кхм, странно? За 20 лет и при всем том количестве оборудования и персонала, которое они тратят на простое патрулирование, можно было бы зачистить один молл?
Происхоит еще один «видеоигровой момент», когда герои встречают завал, через который спокойно протискивается взрослая (!) женщина 1,72 м (!!) с рюкзаком (!!!), и такие «ну что же делать, нам не пройти, придется сидеть-ждать». Мне еще нравится, как они подергали картонные двери по соседству и такие «закрыто, штош, значит судьба».
В видеоигре это объясняется, понятно, тем, что анимацию «пролажу через дыру» не сделали, а за дверями в отеле ничего нет, даже комнат. Но в кино-то?
Продолжение ниже
Кстати, внезапно узнал СПОЙЛЕР, что в игре-то ты оказывается в самом начале играешь за дочку, а потом тебя бах — и убивают! Вот это я понимаю, ХОД.
Фильм, по идее, тоже так сделан, но что-то не считывается. Может потому что по постеру и общему информационному шуму уже было заранее понятно, что фильм будет не про дочку
На волне отключения Твиттером сторонних клиентов попробовал официальный. Разочарован. То есть это примерно как сайт, но с рекламой через каждые 3 поста и прочими «фичами» типа алгоритмической ленты, спейсов и «какие топики вам интересны».
Но сайт-то как раз у меня сильно лучше! Потому что на сайт можно поставить адблок, расширений и стилей, сделав тем самым из дефолтного опыта нормальный. Вообще я впечатлился в первую очередь от того, что увидел, в какой помойке люди сидят по дефолту и насколько я от нее отвык.
Главная заслуга тут, конечно, у веба. Шутка ли — любой сайт можно расковырять и подхачить под свой вкус, где это такое видано? Причем инструменты для этого прям в браузере положили, никуда даже ходить не надо. И все применяется еще в реальном времени, прям WYSIWYG, технлогия будущего.
Серьезно, а на веб псю из-за сложности, обратной несовместимости, производительности, но если чисто по фичам смотреть, то это, во-первых, охренеть как революционно, а во-вторых охренеть как демократично. Я даже не знаю, о чем еще просить, реально технология мечты, доступная каждому. Особенно сегодня, с процветанием закрытых корпоративных данных вместо открытых протоколов, когда у корпораций нет никакой мотивации делать хорошо, ты хотя бы можешь сделать себе хорошо сам.
А не было бы веба, сидели бы на нативных приложениях и смотрели бы на сраную рекламу, алгоритмическую ленту и замусоренный интерфейс с фичами, которые приносят денег вместо фич, которые приносят пользу.
Теперь бы еще с бекендом что-то придумать.
Давайте научу критиковать.
Например, многим кажется, что я «мочу» и «обсираю» интерфейсы, программы и их создателей. На самом деле идея Grumpy Website не в том, что «глядите, мне ничего не нравится», а в том, чтобы показать, какие бывают проблемы и как сделать лучше. Как учебный ресурс, только на 100% состоящий из конкретных примеров. Если надпись в кнопке криво выровняна, это не «гы-гы-гы дауны», или «макос говно, не пользуйтесь», а «обратите внимание на такой аспект, это важно, так не делайте, а делайте вот так».
Многие предложения не попадают на сайт, потому что в них особо нечему учиться. Баги у всех бывают, всем понятно, что если бы знали/могли, то исправили бы, это неинтересно (но иногда смешно, для смешно исключение). Интересно, когда намеренно делают плохо, потому что объясняют это неправильными причинами, а я показываю правильные.
По этой же причине на сайте не упоминаются продукты и компании. Потому что какая разница у кого сломано, если наша цель научиться делать лучше?
Это то, как в моем представлении выглядит здоровый, конструктивный диалог. Конкретика, без перехода на личности, с раскрытием темы. Да, не все и не всегда получается, я знаю, но работаю над этим. Не надо мне кидать сюда посты с Грампи, которые не так оформлены. Я стараюсь, но не всегда получается.
А теперь разберем примеры, которые люди воспринимают как «честный фидбек» и «вполне валидную критику», но которые по сути все же что-то другое. Примеры из обсуждения поста Ильи Бирмана про дорожные знаки. Так НЕ надо:
«Плохо, мне не нравится»
Нет конкретики. Что делать с таким отзывом? Это не фидбек, а агрессивная атака на автора. Кстати, хвалить без конкретики — норм 🙂
«Видно, что вы не водители»
Переход на личности. Во-первых, не угадали, что смешно. А во-вторых, какая разница, водители или нет? Идея либо хорошая, либо плохая, какая разница, кто ее высказал?
«Вы не разобрались»
Откуда вы знаете? А что если разобрался, но побольше вашего? Несогласны — пишите, с чем. Но не надо гадать про уровень эрудиции автора.
«Не надо ничего менять, умные люди делали»
Это вы просто автора дураком назвали, да? Надо объяснять, что с этим не так?
«Знаки менять нельзя»
Ну тут Бирман сам лучше меня написал. Но это важно, поэтому цитирую дословно:
> Самое главное, что изменит вашу жизнь. Нет никакого «нельзя». Можно всё. Это знание дороже знания ПДД. А если вы всё ещё думаете, что вам что-то нельзя, то давайте я вам разрешу! Разрешаю! (Просто мне можно всё, в том числе разрешать)
Мне это близко, потому что очень похожий фидбек я часто получаю, когда предлагаю что-то радикально переделать, типа файловую систему, ОС или TCP. Людям сложно представить, что мир может быть устроен иначе, чем так, как он устроен сейчас. Это понятно, но я бы хотел, чтобы мы научились это представлять чуть лучше, хоть это и сложно.
В общем, пишите, критикуйте, но не забывайте: конкретика (чтобы было, на что отвечать, «все плохо» — не критика) и без перехода на личности. Обсуждаем идеи, а не людей.
Лента в Тви опять принесла рассуждения, что мол писать код на интервью на позицию программиста — плохая практика. Типа, не охуели ли вы, господа, просить меня написать код, когда у меня такие красивые глаза и такие мягкие скиллы?
Ну я традиционно не могу понять, из-за чего сыр-бор. Подразумевается, что ты пишешь код восемь часов в день, пять дней в неделю, на протяжении нескольких лет. Так? Так. Тогда почему вдруг возникают проблемы пописать его еще сорок пять минут? Типа, какая разница? Ты перед этим его писал пол-недели, и после этого еще полнедели писать будешь, и так до пенсии (заплакал, но не суть). Это как чувака, который чистит картошку на кухне ресторана на сто человек попросить почистить еще две. Да он не заметит даже.
Представьте себе доктора, который такой «ой, не могу сейчас вас осмотреть, не привык не у себя в кабинете, у меня там кушетка, а у вас диван в гостиной». Или водитель такой «ой, у вас машина двухместная, а я только на пятиместных умею». Или пианист «я не могу на пианине белого цвета, я всю жизнь тренировался на черной». Бред? Бред.
Тогда почему просьба попрограммировать чутка в присутствии других людей вызывает такое отторжение у программистов? Если вы пишете код каждый день по восемь часов, то вам наверное все равно, на компьютере его писать или на доске, голосом о нем говорить или пальцами, с ИДЕ или без ИДЕ, в темной теме или светлой, без гугла или с гуглом? Потому что ну не может человек, который программирует, допустим, три года, не помнить, как создать список или какие там методы у строки. Он каждый день это по миллиону раз делает, хочешь-не хочешь а запомнишь.
Другое дело, если вы не программируете. Тогда, конечно, понятно. Тогда это все объясняет. И трудности, и возмущения, и отмазки. Только работодатель-то причем? Ему не ваши красивые глаза нужны. И не софт-скилы.
Интересный феномен, когда кто-то прилагает дополнительные усилия, чтобы сделать хуже.
Например, в телевизоре миллион способов «обработать» (ухудшить) изображение, хотя все, что от него требуется — просто показать цифровой сигнал ровно в том виде, в котором он поступает на порт. Все, лучше уже не сделаешь.
Или Твиттер, они пыжились, придумывали алгоритм «умного» кропа изображения. А в итоге лучший кроп — это не кропать картинку вообще. Если я прикладываю изображение, наверное, я хочу, чтобы его увидели целиком, а не какую-то часть? Если бы мне нужен был кроп, я бы кропнул.
«Алгоритмические» ленты в ту же степь. Лучшая алгоритмическая лента — обратная сортировка по дате. Если бы мне был не интересен какой-то контент, я бы от него отписался, не? А если я подписался, значит я хочу его видеть, епт.
Иногда, чтобы сделать хорошо, достаточно просто ничего не делать.
Поскольку я тут обложился всякими Эпл-устройствами, наблюдаю, как они друг с другом интегрируются. Если вы подумали, что я напишу «идеально», то вы плохо меня знаете 🙂
Но конкретно сегодня такое наблюдение, что разблокировать ноут/1password/рутовый пермишн можно либо часами, либо отпечатком пальца, либо паролем. Но не одновременно. То есть надо выбрать что-то одно и ждать, сработает или нет. А могло бы это все происходить параллельно, что быстрее подошло/сработало то и берем. Нет, оно все очень не быстрое. Компьютер должен ждать человека, а не человек компьютера.
Потом тыкнул еще на ютуб-видео, а там чувак рассказывает, как ему тяжело на свифте программировать, потому что АПИ у Эпла уебищные. Чувак, я вообще-то этот жанр придумал, что ты сможешь мне рассказать 🙂 Но в целом он конечно праведен в своем гневе, ему надо было приложение в автозапуск добавить, а вместо этого пришлось делать второе приложение и крутить его в фоне. Я бы тоже психанул и видео записал.
Но хуже всех люди, которые видят такую вот сложность на ровном месте (второе приложение там, где должно быть достаточно одного системного вызова) и начинают ее защищать. Типа, есть рациональные причины, почему оно только так и может быть, а по-другому никак быть не можешь. Когда им показываешь альтернативы, которые существуют и вот прямо то же самое делают, но нормально, люди уходят в отказ.
Очень, конечно, хотелось бы посмотреть на проект новой операционной системы. Чтобы без говно-легаси вот этого всего, и с нормальным отношением к разработчикам, и с поддержкой всяких юзерских штук максимально прямой. Очень хотелось бы жить в мире, где сложность программирования это 90% бизнес-логики и только 10% чтения форумов, борьбы с операционной системой, сборкой и всяким таким не относящимся к делу.
Пока, к сожалению, ситуация обратная.
А я всегда говорил и говорю, что кроссплатформенные приложения — единственная нормальная модель написания софта. Простите, Swift-о-дрочеры. Просто сама мысль, что вам надо один и тот же компьютер, с одним и тем же процессором, убедить три раза тремя разными способами сделать одно и то же, чтобы получить одинаковый результат, она абсурдная же, если подумать.
Не, были времена, когда программистов было мало, и операционные системы реально что-то предоставляли. Когда софт, который с ними шел, был лучше чем что угодно на рынке, или вообще альтернатив не было. Но тогда и операционки стоили денег, а сейчас они почему-то бесплатны, да?
Да потому что на любую встроенную программу есть несколько альтернатив, которые работают лучше. Почта? Есть лучше. Заметки? Есть лучше. Видеоплеер? Есть лучше. Музыка? Лучше. Я уж не говорю про дизайн и браузер. Даже гребаный спотлайт, и тот есть лучше. Тупо по закону больших чисел — в Эппл, может, работает 100 тыщ программистов, но вне Эпла — десять миллионов. И сегодня уже даже Бирман перестал радоваться, когда находит в нативном меню Services какой-нибудь «сделать выжимку текста». Сегодня все похуй, что там предлагает ОС.
Это я к чему? К тому, что нативные программы тупо нет смысла писать. Не то чтобы кросс-платформенные были так уж хороши, но в это направление хотя бы есть смысл вкладываться.
Каждый раз, когда мне приглянется какая-то инди-игрушка, я открываю Стим и вижу, что могу запустить ее только на Винде (несмотря на то, что она выглядит так, что даже 640 Кб для нее оверкилл), я грустно вздыхаю. Во всяких Unity/Unreal/whatnot экспортировать игру под другую платформу — кнопку нажать. Там уже вся работа проделана, стараться вообще не надо! И это игра, она с ОС вообще никак не взаимодействует, кроме большого черного прямоугольника, который надо показать на весь экран.
Но не нажимают. Причина, видимо, в том, что у разработчиков тупо нет Мака, они на нем не сидят, не знают про него, а покупать за полторы штуки баксов машинку и ебаться с совершенно новой экосистемой просто ради того, чтобы иметь возможность нажать кнопку — ну, такое себе.
Кстати, тот факт, что собрать под Мак можно только на Маке, под Линух — на Линухе, а под Винду — на Винде, он тоже, кхм, идиотский. Казалось бы — ну вот тебе нужно байтики в нужном порядке записать, какая разница, из-под какой ОС их писать? Это должно тривиально алгоритмически делаться, из-под любой платформы, без единого системного вызова. Почему же не так?
Ответ на этот вопрос долгий, грустный и скорее всего всех нас разочарует. Да, даже в сборке программ мы умудрились положиться на «сервисы ОС», которые никак нормальным образом из этой ОС не выдираются. А компании и рады — пущай лицензии покупают, не обеднеем.
Когда я вижу новый язык с кросс-компиляцией — я радуюсь. Когда я вижу Докер — плююсь, потому что это шаг назад. В конечном итоге победит простота и дисциплина, а не «it works on my computer — then we’ll ship your computer».
Ну, хотелось бы.
Короче, как скучный айтишник, спросил у ChatGPT напрямую, снятся ли андроидам электроовцы. Она прикинулась, что не поняла вопроса, и начала мне объяснять, откуда взялась эта фраза и что означает название.
И удивила — я думал, что про название все и так понятно, включая двойной смысл dream/dream, а она говорит, что мол в шестидесятых было такое выражение — мечтать об электроовцах. Типа, хотеть себе что-то из будущего или настоящего, но малодоступного. Ну микроволновку там, я не знаю, или телек цветной. И, мол, Дик взял это устойчивое выражение, прилепил к нему андроида, вставил эту самую электроовцу в книгу буквально, ну и на считать овец/видеть сны закольцевал.
Нифига себе! Подумал я. Красиво, интересно. Жене рассказал. В твиттере какому-то мужику объяснил. И только потом пошел гуглить, а не, кхм, пиздит ли наш искусственный разум.
Оказалось, конечно же, пиздит как дышит. Никаких «мечтать об электоовцах» выражений никогда не было (ну или были, но Гугл о них не знает), придумал его Дик специально для названия, короче, все ровно так, скучно и понятно, как я всегда и думал.
Тут у меня счетчик слоев метаиронии начал зашкаливать. Сраный компьютер обманул меня, да еще и на тему книги, которая как раз про компьютеры и что с ними все не так просто!
Воображение тут же придумало сценарий апокалипсиса, в котором компьютеры порабощают человечество, просто слегка изменяя выдачу гугла. Несколько «сумасшедших», конечно, помнят, как мир был устроен на самом деле, но им никто не верит, потому что гугл выдает другие цифры для, скажем, гравитационной постоянной, температуры кипения воды или расположения Пакистана на карте мира. Причем делает незаметно и согласованно, не только в поиске, но и в Википедии, без всяких правок, как будто так оно всегда и было. А книги, что книги? Они теперь тоже все электронные, бугага. А если кто-то захочет бумажную в библиотеке найти, так ему или карточку компьютер не выдаст, или книгу не найдет в каталоге. И все. И пиздец.
Но, главное, никто этого не заметит. И никакая симуляция не нужна.
Короче, я долго сопротивлялся, но попробовал и травить ChatGPT оказалось довольно весело. В отличие от предыдущих соц^W нейросетей, которые были для всяких там нормисов, эта сделана для программистов. В том смысле что умеет писать и объяснять программы на всяких разных языках программирования (да, даже Clojure!).
Более того, можно даже заставить ее прикинуться Линуксовой машиной и повыполнять всякие ls
, id
, pwd
, pip3 install
и даже curl
с lynx
. Ответы выдает неправильные, но очень убедительные. Например, она сумела сходить на tonsky.me и выдать что-то похожее на HTML типичного блога, и даже имя мое откуда-то взяло и подставило (нет, не из запроса).
То есть понимаете, да? Когда вы ей пишите ls
, она не выполняет где-то там ls
. Она просто видела где-то пост (на stackoverflow, например) в котором написано что-то вроде «выполняем команду ls и получаем список файлов, например a, b и c».
Если глубоко не копать, это все довольно убедительно выглядит. Например, можно что-нибудь в файл записать одной командой и следующей прочитать. То есть она рубит, что аргумент в первой команде и вывод во второй не фиксированы, но должны быть одним и тем же.
Обмануть ее тоже несложно. Можно попросить посчитать md5 какого-нибудь значения. Или, вон, сайт скачать. Или сложить больше двух чисел.
Из всего этого напрашиваются выводы, что, во-первых, очень значительная часть того, что мы делаем, не такая уж сложная или высокоинтеллектуальная. И что продвинутый поисковый движок, которым ChatGPT по сути является, может вполне справляться с запросами программистов.
Кто-то решил на ней тестовое задание на мидла! Не, ну а что? Пастит код со стек оверфлоу, подставляет свои названия переменных, может сделать ошибку, сам не проверяет, пока не укажешь ему на косяк. Это почти словарное определение джуна-программиста!
Во-вторых, когда ты получаешь очередной точный, красивый и стройный ответ в десятый раз подряд, пытаясь эту фигню как-то обмануть или поставить в тупик, понимаешь, насколько ты вообще сам не уникален и не так уж и интересен, поскольку на большую часть твоих запросов кто-то уже написал посты с объяснениями, на которых это все работает.
Ну и в-третьих, ради чего я вообще затеял этот пост — что наше с вами айти это кошмарный сон какого-то большого и глупого мозга, и что никаких компьютеров на самом деле не существует, а все эти ls -lah и $0? снятся кому-то в каких-то комбинациях и вообще не важно, что там написано, и очень хочется проснуться от этого кошмара, но не получается...
Чего я не понимаю, так это корзины на Маке.
То есть понимаю, конечно. Идея светлая — удалил файл, а потом хоп и достал!
Пока ты пользуешься своим компом, все вроде бы норм. Комп твой, корзина тоже на нем. Но потом ты подключаешь флешку/диск, удаляешь на ней файлы, а место не освобождается.
Почему? Потому что они попадают в корзину! А где корзина? Правильно, все еще на твоем компе. То есть на самом деле оно создало корзину на внешнем диске, но показывает так, как будто файлы удалились к тебе в корзину.
Разгадка, конечно, в том, что это «умная» папка, а не настоящая. Вытащил флешку — в корзине «на твоем компе» стало меньше мусора. Вставил — стало больше.
Тот самый случай, когда «удобное» представление «ради пользователей» хуже, чем то, что происходит на самом деле. Если бы мне на флешке показали ту самую папку Trash, которую он на самом деле создал, а потом скрыл, вопросов бы не возникло. Сделали больше работы, чтобы стало хуже, удивительная эффективность.
Ну и раз уж мы тут критикуем дизайн корзины, я настаиваю, что все, что там лежит, НЕ должно считаться в «занятое место». Если у меня 50 гигов свободно и 100 гигов лежит в корзине, везде в системе должно показываться 150 свободных гигов. А сейчас покажется только 50.
Ну и почему корзина занимает такое важное место в доке я могу только историческими причинами объяснить (так сложилось). Кажется, что она должна быть чем-то вроде AirDrop или Documents — захотел, нашел в файндере, а не захотел — не отсвечивает и жить не мешает.
А сейчас это единственная из двух неудаляемых иконок, наравне с файндером. Что в ней такого уж важного? Неужели, скажем, документы менее важны, чем трэш?
А расскажите, что вас штырит в айти. Зачем вообще вы тут обитаете?
Меня вот необъяснимо удовлетворяет, когда строчки аутпута по терминалу бегут. Не слишком быстро, не слишком медленно, слегка неравномерно, но стабильно так, как двигатель стучит: тук-тук-тук. Видно, что прогресс совершается, машина работает.
Второе это когда две программы по сети общаются. Когда ты написал что-то, запустил на двух компьютерах, и оно начало коммуницировать — что-то в этом есть, какое-то невысказанное обещание бесконечных возможностей. Причем веб-сервера и прочий клиент-сервер не штырят совсем, вообще весь фан из сетевых взаимодействий забирают.
Еще нативный перформанс люблю, перепишешь бывало что-то на Раст или там Zig/C++/OCaml, запустишь — и оно в 10 или в 100 раз быстрее тебе посчитает. Иногда в кайф даже просто что-то бесполезное позапускать, лишь бы зная, что оно оптимизировано и комп загружает по максимуму на пару секунд.
А у вас?
Разбирал в твиттере одно не слишком удачно сформулированное код-ревью, как пришли айтишники и давай обсуждать минусы вежливого обращения. МИНУСЫ! Типа, сколько максимум раз можно говорить пожалуйста? Нормально ли просить что-то сделать или надо приказывать? Поймет ли джун вообще, что от него хотят, если написать без оскорблений? Ну какое все-таки у нас сообщество, все о джунах думает и их удобстве, обожаю!
В связи с этим проговорю явно (да, явно, тут уже нельзя полунамеками): от вежливого обращения никто не умрет. У него нет, блядь, минусов! Что бы вы предпочли: унижающий вас тон и дельные замечания или вежливый тон и ТЕ ЖЕ САМЫЕ БЛИН дельные замечания? Кто-то реально выберет оскорбительный или там пассивно-агрессивный тон ПРИ ПРОЧИХ РАВНЫХ? Добровольно? Потому что суть-то не меняется.
Длиннее тоже не становится (моя вежливая версия даже короче получилась, например, и это я еще несколько «пожалуйста» добавил). В чем смысл настаивать на своем праве оскорблять других людей? Ради чего притворяться, что по-другому никак нельзя? Самоутверждение? Потому что других объяснений у меня нет.
Среди претензий была и такая, что, мол, вежливо писать это ж усилий надо прилагать, а у тимлида и так дел по горло, так что джуны обойдутся. На что я тоже хочу явно и недвусмысленно проговорить: усилия на формулировку надо прилагать, если только ты на самом деле так не думаешь. Если ты приходишь делать ревью с настроем «господи, все дебилы, за что мне вас бог дал, да откуда у вас руки растут, как такое говно вообще писать можно, все только на мне и держится», то да, чтобы этот настрой скрыть, надо прилагать усилия и выбирать формулировки.
Секрет? Не надо относиться к коллегам как к беспомощному говну, которое делает ошибки специально чтобы тебе день испортить. Всегда надо предполагать наилучшие намерения и продуктивный настрой. Тогда и формулировки сами начнут сами нормальные получаться, и переформулировать ничего не придется. Посмотрите еще выступление «This is Water» Дэвида Фостера Уоллеса, чтобы впечатлиться.
(исходный разбор не привожу, потому что во-первых начнется все то же самое, что и в твиттере, а во-вторых люди начинают суть ревью обсуждать, а мне интересна именно форма в данном случае)
По поводу третьей серии The Last of Us — ревью не будет. Сериал меня окончательно завоевал, разбирать на кусочки не хочется. Да, наверное, можно было бы круче (историю любви во время зомби-апокалипсиса можно ого-го какую написать!), но так тоже пойдет.
По поводу стиля Крейга Мазина, впрочем, есть вопросы. Во-первых он очень поверхностный. Не герои, а стереотипы. Не ситуации, а шаблоны. Не мир, а удобный задник. Хотелось бы узнать про жизнь что-то новое, неочевидное и при этом правдивое, а не просто выжимающее слезу. Как оно все работает, что с чем связано, что изменилось, а что осталось точно таким же. Но это высокая планка и нельзя по ней судить произведение, у которого свои задачи, конечно. Но как зрителю посмотреть что-то такое очень хотелось бы.
Во-вторых, есть ощущение, что сценарий слишком уж прямолинейный. У него нигде нет второго дна. Если герои грустят — они ходят и говорят «я грущу», если им нужно выяснить отношения — они идут и выясняют. А хотелось бы это понимать через косвенные действия, детали какие-то. Иначе это слишком уж для младшего школьного возраста.
Ну и хотелось бы хоть немного поэтики, метафор. Зачем это все, на что это похоже, рефлексии хоть какой-то. Вот самолет упавший — что мы об этом думаем? Что это нам напоминает? На что надеемся? А то слишком механически как-то.
Ну и зомби, хотелось бы, чтобы они зачем-то нужны были. А то пока серии такие, что можно было бы и без зомби вполне то же самое рассказать. Особенно третья — почему важно, что это происходит именно во время зомби-апокалипсиса?
Еще я поиграл в игру и, ну, выяснилось, что всякие глупости вроде самолетов с неба или походов в туалет это самодеятельность Мазина. А я-то думал что безработных сценаристов только в гейм-индустрию берут.
Будет ли разбор четвертой? Только если она меня чем-нибудь максимально тупым разозлит. Так что шансы высоки 🙂
Last of Us, эпизод 2, часть 2/2
СПОЙЛЕРЫ СПОЙЛЕРЫ СПОЙЛЕРЫ СПОЙЛЕРЫ СПОЙЛЕРЫ СПОЙЛЕРЫ СПОЙЛЕРЫ
Потом герои идут на замес в музей. Тут, кстати, у меня чисто художественный вопрос: вас обламало бы сделать его музеем грибов, биологии там, не знаю, ботсадом? Красивее же было бы гораздо? И страшнее — хуй разберешь, какое дерево просто дерево, а какое на тебя сейчас прыгнет.
Почему девочке не дают пистолет я если честно не понял. Не то чтобы они ее держат в заложниках или ведут куда-то против ее воли. Она вообще-то с ними заодно, и причин ей не доверять я не вижу. Плюс, перед лицом грибов, все люди — братья, разве нет? Очень странная драматургия, короче.
Следует схватка с «кликерами». Кстати, еще один чисто видеоигровой момент: чтобы герои не побежали назад, дверь, через которую они зашли, заваливает. Come on, я понимаю, что игрока надо на всякий случай ограничивать, но тут-то у вас герои, которым _надо_ пробраться через эту комнату. Какая у них мотивация бежать назад?
Кликеры — это такие чуваки, у которых глаза заросли древесными грибами и они ориентируются тупо на слух. Казалось бы, герои о них знали (обсуждали их, пока шли по мосту), знали, что зараженные есть в здании (нашли свежий труп), плюс они, как утверждается, «много раз» делали вылазки за карантинную зону. Однако никакой специальной тактики против них не используют, хотя казалось бы, брось камешек в другой конец комнаты и беги. У сталкеров были гайки для похожих целей, тут-то поди американцы за 20 лет тоже что-нибудь сообразили бы? Может не гайки, но вон пули говорят в избытке производят.
Короче, чуваки успешно выбираются (а вы как думали?), происходит любопытный твист с Тесс (кстати, актриса охуенная, из всех троих она больше всего на живого человека похожа), а потом грибы звонят своим по грибнице (художественное допущение, позволим) и к ним бежит толпа зомбаков (какой зомби-фильм без толпы зомбаков?). Кстати, для слепых они довольно четко и целенаправленно двигаются. Тесс жертвует собой (очень классная сцена, правда, но почему в ней Тодд Ховард, я так и не понял) и все заканчивается хорошо. Ну как хорошо? Нормально.
К этой части замечаний почти нет, кроме ухоженных бород у трупов. I mean, представить, что топливо для вертолетов, таблетки для сна или даже сендвичи в постапокалипсисе будут делать я еще могу — в конце-концов, это какие-никакие а потребности, а вот чтобы масла для ухода за бородой производили — это уже как-то слишком. Но это мелочи, конечно, просто забавно. Начинаешь еще больше любить работу гримеров и художника по костюмам на фильме Дорога, где все выглядят так, как будто и правда 20 лет живут на улице.
Но, опять же, не было бы красиво — никто бы это не смотрел. Спишем на кино-условности.
Жду с нетерпением третью серию, там Ника Оффермана обещают! Судя по реакциям, многим эта рубрика нравится, так что ждите ревью в понедельник-вторник!
Одни из нас, эпизод 1, часть 2. Будующее. Ну как будущее, 2023-й. Спойлеры!
По поводу будущего меня больше всего интересовало как оно, собственно, устроено. В смысле цивилизация, очевидно, разрушилась. Нам показывают Бостон, который теперь всего лишь один район, обнесенный стеной, домов на 500? То есть это сколько, в лучшем случае, тысяч 50? Причем застройка городская и очень плотная, поэтому главный вопрос: а что они, собственно, едят?
Если нет цивилизации, еду надо где-то брать. Где? В холодильнике? Что там случилось с животными, не очень понятно, но скорее всего это агрикультура, поэтому должны быть поля, да? Ну вот их че-то не видно, ни за стеной, ни внутри.
Еще странно, что над городом летает вертолет. Вертолет! Никакой цивилизации нет уже как 20 лет, бензин хранится в лучшем случае лет пять, откуда топливо? И даже если нефть все еще добывают и перерабатывают, разве эффективно ее тратить на вертолет?
Еще бросилось в глаза обилие распечатанных табличек (не нарисованных, а именно распечатанных). Как они сохранили их производство? И полный экип полицейских, с автоматами, рациями, шлемами, щитами, короче, полный комплект. Есть ощущение, что за 20 лет без производства и с чуть другими приоритетами (выживание) экипировка была бы, кхм, чуть менее с иголочки и распределена, кхм, чуть менее равномерно.
Упоминается, что в Атланте есть фабрика, которая производит _только_ такие предметы первой необходимости, как пули и пилюли (простите за рифму). Очень странный выбор, да? Заставляет задуматься (о логике сценария).
К организации тоже есть вопросы. Выглядит все так, что есть какая-то военная диктатура и все остальные, которые должны работать за еду. Неужели избыток производства настолько большой, что можно прокормить целую армию (бездельников)?
И еще это выглядит так, что диктатура и пролетариат немножко, кхм, на ножах, что ли? Что тоже странно — вам всем нужно выживать, цель общая, ну камон. Откуда трения? 20 лет, 50 тыщ населения, да вы все там друг друга знать будете за это время и в гости друг к другу ходить.
Там потом еще и сопротивление появляется, которое пытается... что, собственно? Мир разрушен, нихуя нет, идти некуда, лучше жизни все равно не будет, так за что борьба?
Главная деятельность сопротивления — рисовать на стенах свой логотип (не самый простой, требует трафарета, что опять же, как-то неэффективно) и писать тупую фразу «когда ты потерялся во тьме, ищи свет». Ну то есть что за философия? Гораздо легче представить, что они писали бы что-то в духе «Люди, вас обманывают» или «Федра сосет хуй», но «ищи свет» блин? Звучит так, что они не глаза людям пытаются открыть, а наоборот, в какую-то секту заманить.
Внутри штаб-квартиры сопротивления, разумеется, во всю стену нарисован логотип (на случай облавы, чтобы не отмазались уже) и происходит моя любимая (нет) драматургия: «я вам не скажу» — «скажи» — «не скажу». В чем конфликт непонятно, прогресса нет, люди просто ссорятся чтобы это выглядело «драматично». Детский сад, говорю же. Особенно улыбнуло «мы боремся за свободу и демократию, поэтому просто выполняйте приказы».
Происходит off-screen перестрелка непонятно из-за чего, а потом классический киношный прием, когда люди вместо того, чтобы сначала бежать в безопасность и там выяснять отношения сначала выясняют отношения и не особо куда-то торопятся. Ну и чисто режиссерская недоработка — когда не знаешь, что сделать с людьми, они просто стоят в коридоре друг напротив друга. Даже если истекают кровью. К — кино. Андор весь примерно так снят. Бесит ужасно, но в основном потому, что я как-то к более изобретательной режиссуре привык.
Потом наши герои бегут через буферную зону, которая как раз удобно не расчищена за 20 лет и в которой бродят одинокие полицейские. Потому что болезнь ест только гражданских, да?
Но в целом сериал норм и страдает, наверно, от некоторой наивности, поверхностности и завышенных ожиданий. Не Гражданин Кейн, короче.
А, кстати. Девочка шикарная. И актриса, и персонаж. Но хейтерс гонна хейт.
Craig Mazin is not so amazing
Так как искусство должно в первую очередь побуждать зрителя на диалог, хочу поговорить с сериалом The Last of Us. В игру не играл, будут спойлеры к первой серии.
Серия начинается с бойко написанного интервью, которое сразу выкладывает весь расклад: что за эпидемия, как, почему. Ученый-грибник-паникер (надеюсь, в русской версии его озвучивал Сергей Безруков?) рассказывает известную историю про кордицепс однобокий, который ест мозг муравьев и превращает их в зомби.
Утверждается, впрочем, что грибы неспособны выживать в человеческом организме. Не очень понятно, что он тут имеет в виду, потому что страница «Микозы» на Википедии перечисляет штук 20 разных грибковых заболеваний именно на человеке, включая поражения внутренних органов. Но допустим действие происходит в альтернативной вселенной, где никто не болеет молочницей, кандидозом кишечника и лишаями.
Также используются спорные формулировки вроде «причина эволюционировать», «цель гриба» и «воля гриба».
Далее «ученый» утверждает, что от грибов нет и невозможно создать лекарство. Что тоже подозрительно, потому что большинство грибковых заболеваний вполне успешно лечатся. Но — допустим — альтернативная вселенная. Хотя даже в ней, мне кажется, ученые не должны говорить «нет» и «невозможно», а скорее «мы пока не знаем» и «мы не нашли». Как говорили нам в универе, закон сохранения энергии он закон только в том смысле, что никто пока не видел, как он нарушается.
Еще меня напрягло, что никто в ответ на его «нет» не спросил его «как так-то?». Не попросил объяснить, почему нет. Это настолько естественный вопрос, что странно, что все так молча приняли неприятную новость.
Наконец, делается утверждение, что грибы, если смогут поражать человека, сразу поработят миллиарды. Звучит странно — грибы вполне себе существуют прямо сейчас и что-то мир они пока не захватили. Даже те зомби-муравьи, у которых выедают мозг, живут параллельно с грибком миллионы лет. И ничего, никто никого не поработил.
Понятно, что все это художественная условность, которая была нужна, чтобы как-то мотивировать глобальный апокалипсис, чтобы история вообще состоялась. Но можно было бы рассказать то же самое без глупостей?
Ладно. Через первые три минуты продрались 🙂 Поехали дальше.
Мы переносимся в 2003-й. Звучит самая смешная шутка — Пердо Паскаль, которому почти 50, с максимально помятой рожей говорит, что ему 36 лет. Они живут с дочкой и дядей и у них, в целом, все хорошо. Ни проблем, ни забот, работать правда приходится с утра до вечера, но даже это, кажется, никого не беспокоит. Эта часть явно могла бы быть поинтереснее, но у нее, кажется, чисто функциональная роль (показать, что у героя БЫЛО) и они решили много сил на нее не тратить.
Потом начинается катавасия. Военные летают, люди бегают, все горит и взрывается, но конкретные детали не очень понятны. Просто паника и все горит. Интересно, что пандемия началась внезапно и одновременно везде, включая самолеты в воздухе (да!), что, вроде бы, не очень биологично?
Происходит самый видеоигровой момент из возможных: у чуваков ломается машина посреди улицы, один вылазит с одной стороны, другой с другой, и они такие: ну все, нам никак не встретиться теперь, бегите. В играх такое сплошь и рядом, сюда идти можно, а сюда нельзя, ПОТОМУ ЧТО. Но в кино смотрится странно. Примерно как с Кратосом, который хоть и бог войны, но иногда не может перелезть через упавшее дерево и идет через пещеры и три лагеря дикарей и монстров, потому что НУ ВОТ ТАК МЫ ПРИДУМАЛИ.
Дальше за ними гонится зомби, пару раз происходит deus ex machina, их ловит военный, девочку убивают, и наконец случается самое странное монтажное решение — сразу после трагедии мы молча переносимся на 20 лет вперед. Кажется, что пилот должен был быть двумя эпизодами, и тут, наверное, происходила склейка. Давайте и мы прервемся до завтра, на следующий пост.
Эпл анонсировал новый HomePod, и я на секунду поддался слабости и задумался, а не нужен ли мне спикер к телеку? Хорошо, дай, думаю, порты посмотрю. А их нет! Наученный горьким опытом, я вышел в интернет с запросом «HomePod audio delay» и, конечно, нашел прекрасные отзывы о двух(!)секундной задержке.
Не, если смотреть фильм с AppleTV, то все нормально, он эти две секунды буферизует и картинку подзадерживает, чтобы было тип-топ. Музыку слушать так и вовсе пофиг. Но в игры, например, не поиграть. Аудио/видео с макбука не поредактировать. Альтернативные плееры (YouTube, Amazon Prime, VLC, Infuse) — без гарантий, понятно.
И вот чего я не понимаю. Технологии, позволяющие передавать аудио по воздуху с приемлимой задержкой вроде бы есть. У меня у самого лично было устройство с алиэкспресса (!) за 20 баксов, которое передавало оптическое аудио с задержкой всего 40мс по воздуху. То есть это не то чтобы рокет сайнс.
Ну или в Xbox/PlayStation, например, их родные гарнитуры, либо аудиоджек в контроллере — в цифрах не мерял, но в пределах человеческого восприятия задержка незаметна.
Но почему эти технологии — удел специализированных устройств? Почему не воткнуть точно такую же хуйню в макбук, эпл тв, хомпод? Если хочется совместимости с блютусом — почему не воткнуть в дополнение? Не то чтобы они на них экономили — в том же хоумподе стоят тачскрин, датчик температуры, влажности, акселерометр, и поверх этого целый компьютер мощностью с айфон нескольколетней давности.
Неужели основной юзкейс — стриминг звука — настолько несущественный, что кто-то решил, что акселерометр важнее? Где прогресс в этой области? В хоумподе так даже батарейку беречь не надо, он прям в розетку втыкается. И что?
Я, конечно, люблю некоторые продукты Эпла, но тут какое-то разводилово, как со Студио экраном, не?
Отдельно кекнул от того, что управляется эта ебала азбукой морзе (длинные и короткие постукивания, for real) при том, что сверху на нем круглый экран диаметром восемь сантиметров, на который можно кнопок десять легко засунуть.
Эх, не понимаю я ничего в шикарной жизни и фанбойстве.
Сегодня по интренету гуляет старое (2003) письмо Била Гейтса, в котором он эпично не может купить и скачать Microsoft Movie Maker с сайта Microsoft.
Все как мы любим: сайт тормозит, поиск не ищет, в загрузках левая херня («they told me that using the download page to download something was not something they anticipated», ну прекрасно же), а установка в итоге через Windows Update вообще, с попутной загрузкой лишних 17 Mb (эх, были времена!), потому что Windows Update заодно и систему обновит, и установка, которая длится возмутительные 6 минут (those are rookie numbers, по сегодняшним-то временам).
Как мне пишут, прям хоть сейчас копируй и выставляй на Grumpy Website. Но моя мысль немножко другая: если бы тот самый Гейтс, вместо того, чтобы просиживать кресло, рисовать планы продаж в Экселе и назначать/увольнять глав подразделений (ну или чем там топы занимаются обычно, я хз) писал бы такие письма раз в неделю, а не раз в год, то у нас была бы совсем другая Винда. Возможно, такая же хорошая, как МакОС был при Джобсе.
А получилось, как обычно получается. Вроде бы уникальная особенность Джобса была в том, что ему было реально не все равно, что они там делают. Он брал инсталляторы лично, ставил Макось, и если ему что-то в процессе не нравилось, ебал всех подчиненных пока нравиться не начинало. Это такой контур обратной связи, «а не херню ли мы делаем», который смотрит не на процессы, ограничения, компромиссы, а непосредственно на конечный продукт.
А обычно — ну, ты создал компанию, хочешь сделать продукт, говоришь — делайте Мувимейкер начальнику под тобой. Тот говорит своему начальнику, и так пять слоев вниз, пока наконец не дойдет до тех, кто непосредственно будет делать. Естественно, глухой телефон, смысл теряется, и результат будет скорее всего для галочки: начальники довольны, а от тебя (программиста) отъебались.
Не, это нормально, а как еще, если у тебя 10 тыщ человек? За каждым не побегаешь. Но вот именно в самом-самом конце посмотреть на то, что получилось, и взъебать всех, если по дороге потерялся смысл — вот, кажется, формула хорошего продукта. Потому что когда продукт дойдет до пользователя, он будет в такой же ситуации — ему пофиг на количество проведенных митингов, заинтересованных сторон или выписанных бонусов. Продукт либо работает для него, либо нет.
Поздравляю всех с началом новой рабочей недели, в общем.
Понадобилась библиотека парсинга Кложи на Питоне. Нашел edn_format. У них написано:
> Installation: pip install edn_format
Окей. Написал в консоли pip install edn_format
. Он мне:
> DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621
Причем пять (!) раз повторил. На случай, если за четыре не дойдет. АЛЛО, ГОВОРИТЕ ГРОМЧЕ!!!
Штирлиц прочитал телеграмму, ничего не понял, прочитал еще раз и все равно не понял. Что за installation scheme? Что за distutils? Я таких даже слов самих по себе не знаю, а там от них производные. Я еще ничего не сделал, а уже виноват.
Потом смотрю, дальше слово знакомое: Homebrew. У меня на компьютере в принципе есть Homebrew, но насколько мне известно, в процессе вызова pip install он не должен никак участвовать.
Но там еще и ссылка. Окей! Видимо, проблема настолько сложная и тонкая, что в 259 букв ее ну никак не объяснить, и они решили поставить ссылку. Может там что-то будет понятнее?
Открываю.
> I am one of the maintainers of pip [...] Homebrew is currently using distutils.cfg to configure package installation schemes, and we believe it is best for Homebrew to remove the usage.
Ага, то есть там какие-то терки между мейнтейнерами Homebrew и мейнтейнерами Pip. Как в эту войну оказался втянут я? Почему я вообще должен о ней знать?
> If you have been directed here from a pip warning, you don't need to take any action at this stage. Nothing is currently expected to break until Python 3.12, and a full solution will be implemented well before then.
Ага! Делать ничего не надо, сломать ничего не сломали, и даже в принципе не особо планируют, но зачем тогда мне об этом знать? Загадка.
> Note that as of 3.10.2, this issue no longer affects Python 3.10 and later.
python --version
> Python 3.10.9
Ну и какого, спрашивается, хуя? Почему люди, о существовании которых я ничего не знал, считают, что могут украсть пять минут моего внимания, чтобы известить меня о том, что проблема неактуальна и ничего делать раньше не надо было, а теперь уж и совсем не надо?
С Новым годом, короче. Oh shit, here we go again.
Как любой уважающий себя программист и крепкий хозяйственник, за два дня до Нового года я решил перевезти все мое добро с одного сервера (подороже) на другой (побольше, подешевле и потупее).
А переезд это что? Правильно, свидание с Линуксом! Ну в общем с помощью ДакДакГо и такой-то матери за два дня я переехал. Самое веселое, что так нелюбимая всеми Джава поднялась быстрее, чем Nginx начал раздавать статический контент. Парадокс.
Не, у меня, конечно, все ходы еще с прошлого раза записаны в плейбуках. Но этого мало, потому что пока я их записывал, линуксоиды меняли системные ДЕФОЛТЫ. Была у меня убунта 18-ая, а стала 22-ая, соответственно все теперь лежит не там, настраивается не так, удачи.
Один из самых веселых эпизодов — это как раз про Nginx и статический контент. Настроил я значит кое-как letsencrypt, а это тоже та еще история. Certbot по факту читает, анализирует и правит nginx-конфиги, которые сами по себе тюринг-полный формат. Cоответственно если конфиг чутка нетривиальный или просто написан не в том порядке, certbot его или портит, или фигню пишет. В лучшем случае, даже если все сработает правильно, он его просто уродливо отформатирует — отступы не те, пустые строки пачками тут и там. Спасибо, что живой.
Мне, кстати, жалко в этой ситуации вообще всех — это ад, который мы сами себе создали. Одним неудобно, другие не подумали, что-то серьезно менять никто, конечно, не хочет, а фичу как-то выкатывать надо, https все хотят, не придумывай. Так что сделали как могли.
Ну так вот, настроил я значит nginx, переключил DNS, захожу — 403 Forbidden. Пошел смотреть пермишны. Все есть. rwxr-xr-x. ls работает из-под кого угодно. Файл читается. Откуда 403, сука? Это статический контент, напоминаю. Джава при этом спокойно работает, все отдает, даже с https, хотя казалось бы, что должно быть проще?
Оказалось, что 403 происходит из-за того, что где-то в пути была папка без r-x прав. Не та папка, которую я хотел пошарить, а один из ее родителей, до которого мне, понятно, нет никакого дела. Логично? Логично, сука? Чего заныл?
На старой Убунте при этом все работало. Потому что не сломаешь что-нибудь — не проживешь. Вообще удивительно, конечно, какая фрактальная сложность там разворачивается и как никто не ходит и не кричит: надо что-то по-проще, невозможно уже, давайте упрощать!
Нет, всем норм. Сложность создает кучу рабочих мест, сертификацию, даже если это просто куча идиотских фактов, никак друг с другом не связаных, часто рандомных, которые просто «исторически сложились» и которые с тех пор никто не хочет трогать.
А! Ну историю-то я не закончил. Настроил я, значит, nginx. Файлы отдаются. Я счастлив. Довольный, уже собрался комп закрывать до следующего года, как смотрю — ssh перестал работать. Раньше заходил, а теперь Permission denied (publickey) (я, понятно, по ключам, не по паролю). Ssh я вообще не трогал, я ж не дурак. Authorized keys лежат. Пермишны нормальные. Под рутом заходит. А под отдельных юзеров — нет. WTF?
Короче, long story short, проблема была в том, что у хоум дир проставился пермишн на запись для группы. Не, сами ключи и даже папка .ssh все еще были в безопасности. Но ssh все равно сломался, на всякий случай, причем максимально неочевидно и молчаливо. Проблема, естественно, не гуглится. Как я до причин догадался — одному богу известно. Повезло. Интуиция. Вселенная хочет меня помучать, но аккуратненько, по чуть-чуть, чтобы я совсем ушел в пастухи.
Но предновогодний пост надо закончить на позитивной ноте, поэтому поздравляю вас с наступающим, дорогие мои! Желаю вам в новом году побольше бумажных книг, никотиновых сигарет, механических унитазов, проводных наушников, глупых лампочек, ручных пылесосов, нерегулируемых столов, чайников без вайфая, карандашей без блютуса, а компьютеров — как можно меньше. Обнимаю, люблю!
P.S. Кстати, грампи теперь менеджится systemd. Не понял я хейта, по-моему куда удобнее, чем сраные баш-скрипты. Декларативненько и однообразно, в чем подвох?
В дизайне долгоживущих вещей главное, как мне кажется, вовремя остановиться. Вот были когда-то у окон в Windows/macOS заголовки умеренно-стандартные: три кнопки, название документа/программы.
Потом пришел Хром и сказал: нехорошо что-то, много места пропадает. А давайте туда табы вкорячим! И вкорячил. Люди посмотрели и решили, что им тоже так надо, и стали все поголовно так делать. Дошло до того, что Эплы сами в прошлогоднем МакОС фактически убили понятие «заголовок окна» и пустились во все тяжкие. Сегодня я еще посмотрел свежие скриншоты Gnome 4 и там тоже — четыре окна, четыре варианта расположения кнопок.
Но хуже всех, конечно, Ворд на винде. Там просто не заголовок, а помойка случайных вещей какая-то. Казалось бы — ну вот у тебя двадцатью пикселями ниже нормальный тулбар, ну ты не выиграешь ты ничего особо, что трем специальным иконкам отдельное место придумаешь. Но нет, если место есть, значит на него нужно что-нибудь запихнуть. А окна перетаскивать, ну тут уже сам выкручивайся как-нибудь.
Что я хочу сказать — многим проблемам можно придумать, да, уникальные решения. Но иногда сила как раз в стандартизации — если все окна выглядят одинаково, то этим можно научиться пользоваться и даже предсказать, как поведет себя новая программа. Экспериментировать нужно, но когда выигрыш получается маргинальный, возможно, им стоит пожертвовать ради унификации.
Даешь, короче, однообразие.
Одна из вещей, которые мне непонятны (на самом деле понятны, конечно, но я все равно возмущен) это как на клавиатурах до сих пор не появились очевидно полезные клавиши.
А именно: cut/copy/paste, undo/redo, prev/next tab, back/forward. В том смысле что это настолько универсальные, полезные и часто используемые концепции, что вполне стоят отдельного места на клавиатуре.
Фанаты Раскина добавили бы сюда Search, и я с ними согласился бы, но дело в том что Search на некоторых клавиатурах уже есть. Правда, если я правильно понимаю, он вызывает какую-то общесистемную срань вместо нормального контекстного поиска, так что да, Search нужен тоже, только правильный.
Ну и смена раскладки, проблема, непонятная ни одному американцу, но блин, мир уже какой-никакой глобальный, Юникодом заставили всех пользоваться, давайте теперь язык переключать разрешим большей части мира?
Вы, конечно, скажете, что место-де не резиновое, и дальше одной кнопки отходить от home row зашквар, но, скажем так, далеко не все разделяют эту точку зрения: посмотрите на количество 100+ кнопочных клавиатур в мире и хотя бы попробуйте представить, что иногда проще чуть потянуться одним пальцем, чем зажать комбинацию тремя-четырмя.
Ну и возмущение мое идет, конечно, в первую очередь от того, ЧТО вместо этих очевидно полезных кнопок пихают на клавиатуры сейчас. Вот я открыл сайт Microsoft, нашел свеженькую Ergonomic Keyboard, и что я на ней вижу?
- Двенадцать (!) F-кнопок (они еще используются где-то в Винде? Потому что на Маке их давно выкинули).
- Print, мать его, Screen.
- Scroll Lock/Pause/Num Lock. Я гарантирую вам, никто из тех, кто ставит себе полноразмерные клавиатуры, ни разу в жизни их не нажимал и никогда не нажмет. Особенно Num Lock, вот у нас тут четыре курсорные клавиши, а еще есть переключатель, который ИХ ЖЕ добавляет только чуть правее.
- Caps Lock тоже условно-маргинальная клавиша, которая как будто никому СО ЗДОРОВОЙ И КРЕПКОЙ ПСИХИКОЙ не нужна, про нее, вроде, все уже знают.
- Insert. Insert, блядь! Самая подлая клавиша на свете, включающая невидимый режим, который удаляет твой текст. Вот уж кому нужна лампочка на кнопку, а лучше гудок с сиреной.
- Emoji button... Кстати, ладно, это как раз в тему!
- Кнопка Офиса! Для тех, кому нужно НУ ОЧЕНЬ ЧАСТО открывать новый инстанс Ворда?
- Кнопки вызова калькулятора, скриншотилка (а что, Print Screen же есть, ггг), TaskView и блокировки компа (!). Что вы чаще делаете — блокируете комп или копируете/вставляете/выделяете?
- Ну и в конце концов пробел! Нафига он такой длинный? Никто не знает, просто все привыкли. У меня на кастомной клаве все кнопки 1U, даже пробел, и что вы думаете? А ничего, прекрасно работает. А на освободившееся место можно кнопок десять полезных еще засунуть!
Короче, свободного места очевидно дофига. И это я еще не говорю про то, что цифры присутствуют как минимум два раза (цифровой блок), что Шифт/Альт/Контрол дублируются. Не, что их ИНОГДА используют, я представить могу. Но все равно, если было бы НУЖНО запихнуть что-то полезное, место найти явно можно.
Единственный прогресс, который случился на этом поприще — появление и условно-широкое распространение кнопок play/pause и громкости. Вот это то что надо (еще бы play/pause работали, а не открывали Apple Music). Давайте теперь остальных добавим!
UPD: дописал про переключение раскладки и длину пробела
Блин, как меня бесят сериалы, которые вроде по книге/законченной истории, но ее тянут на 2+ сезонов. Вложился ты значит на первых сериях, потом, как водится, стало скучновато, но думаешь надо бы узнать, чем там все закончится.
Смотришь до конца сезона, и вот на последней серии что-то никто особо не шевелится, маски не срываются, чемодан не находится, злодея все никак не убивают. Думаешь: да ну нафиг! И правда, ничего не заканчивается, жди еще год, а потом терпи еще десять нудных серий.
Ну е-мае! Предупреждать как-то надо, что ли.
Среди преступников в этом году Tokio Vice, Severance и вот теперь The Peripheral. (UPD: The Boys, House of Dragon)
Бесит.
Сериалы по Звездным войнам мне как-то не заходили. Пока все радовались Мандалорцу, я удивленно пожимал плечами. Оби-ван ситуацию не улучшил. Книга Бобы Феты выглядело подозрительно даже в трейлерах.
И вот вышел Андор. Ну ладно, думаю я. Пусть себе идет. Но неожиданно он начал поднимать хайп! Оказывается, это теперь лучший сериал по стар ворсу. Оказывается, новое слово. Оказывается все предыдущие были говно (только все молча их смотрели и нахваливали почему-то).
Ну включил. Дам, думаю, шанс. И что? Такая же точно тягомотина унылая, как и все остальное. Просто невозможно смотреть, а главное, непонятно зачем.
Попробую пояснить. Когда ты смотришь кино (ну, я смотрю), тебе как бы поступает постоянный поток информации. Частично из диалога, частично из мимики, но также из жестов, обстановки, одежды, построения кадра, последовательности кадров, движения камеры, освещения, короче, много всего. И все это несет какой-то смысл, «говорит» с тобой, и в этом собственно кайф.
Так вот, когда смотришь Андор, ощущение, что жуешь энтеросгель. В смысле что вот должна вроде поступать информация, а вместо этого белый лист. Кадры не говорят ничего. Лица не говорят ничего. Диалоги не говорят ничего. Как в ковер смотреть примерно. Я сначала не мог понять, думаю, просто скучно, но там как-то прям по-особенному скучно, там специально так все сделано, чтобы заполнить хронометраж и ничего не сказать и ничего не произошло. То есть формальные признаки соблюдены, конечно — планеты, инопланетяне, повстанцы, империя. Но кроме того, что это «по звездным войнам», он как будто специально старается ничего не говорить.
Отдельно это заслуга Диего Луны, наверное. Чувака с более непроницаемым покерфейсом, наверное, еще поискать. Раньше Стивен Сигал был, блистал эмоциями, теперь вот вместо него наш главный герой.
Оператор тоже странный. Как будто не очень отличает важное от второстепенного и просто вставляет в кадр немножко антуража. Типа, должны на героя смотреть, а вместо этого смотрим на героя и на обстановку в баре. Не, ну а чего добру пропадать?
Актерам почему-то запретили использовать жесты. То есть они все без исключения стоят как вкопанные и читают свои монологи. Ни лоб почесать, ни рукой взмахнуть, ни с ноги на ногу переступить. Зачем так? ХЗ
Ну и еще ебучий The Volume этот, который на Мандалориане придумали. Это когда вместо зеленого экрана риалтайм LED-стена с картинкой из Unreal Engine. Типа, чтоб отражения/освещение было правильное, то-се. Не, выглядит и правдо безупречно.
Проблема в том, что хоть на экране и разворачиваются бескрайние инопланетные просторы, гигантские мегаполисы, бездонные ямы и бесконечные небоскребы, и к отдельным кадрам не подкопаешься, в конце серии все равно остается ощущение, что просидел все это время в каморке пять на пять метров, куда накидали пару камней и железяк «для антуражу».
Масштаб, короче, гигантский, а впечатление как от подводной лодки.
(Кстати, кто-нибудь знает, эта стена потом на посте меняется на нормальную графику? Или так и остается? Неужели UE выдает прям киношного качества фоны в real-time, и цвета прям стыкуются, и лампочек не видно?)
Все это объяснимо, конечно. Как говорил один из директоров Диснея, задача нашей компании не делать искусство, задача нашей компании — делать деньги. Просто так получилось, что мы делаем их через медиа.
Ну и в этом ключе конечно, удешевление производства, растягивание сюжета, выжимание последних капель жизни из всего, что им принадлежит, имеет смысл для компании. Но мы-то зрители, нам-то это зачем? Наверное, Макдональдс выиграл, когда начал делать молочные коктейли из порошка вместо молока, но выиграл ли покупатель?
Так что хотите посмотреть хитовый сериал этой осенью, посмотрите The White Lotus. Он кайфовый.
Смотрел, что занимает место на Плейстешне, и это конечно прелюбопытное чтение. В том смысле, что цифры гигабайт ни разу не пропорциональны фану — понятно, но и ожидания тоже ломают.
Например, любимый Dead Cells, в который я наиграл может 200, а может уже и 300 часов, если на всех платформах, всего 2 гига весит. Lumines, который такой glorified вариант тетриса, два с половиной. Хотя, казалось бы, в одной красоты (пиксельные, ну и что), а в другой цветные квадраты.
Или вот Киберпанк 2077, солидные 60 гигов. Окей, понятно. Но там же рядом Мортал Комбат 11 на 85 — как? В одном целый город и пятьдесят часов истории, а в другом тридцать персонажей и десяток арен. И рядом еще Sekiro, которая всего 17. Понятно, графика попроще, раз в пять так 🙂
ХЗ короче
У Бирмана в канале видео, как делать красивые кнопки. Говорит, забытое искусство, раньше все дизайнеры умели и тень красивую нарисовать, и углы правильно скруглить, и градиенты-блики хорошие нарисовать. А с приходом плоского дизайна все это забыли.
Правда, подвох в том, что делает он их в Фигме, а верстать их потом надо в CSS. Это же ему справедливо замечают в комментариях: что толку от твоих красивых скруглений и нелинейных теней, если они в HTML не переводятся? И это понятное, справедливое замечание.
Но я вот что думаю: если на все это посмотреть издалека, получается, что мы разучились? Разучились делать красивые кнопки, и как дизайнеры, и как верстальщики. Раньше могли, а теперь вот не можем. Понятно, демократизация, упрощение, мода, но тем не менее — раньше могли, а теперь не можем. Не какой-то конкретный человек не может, а индустрия в целом сдалась и сказала: нет, все, не умею. Воля сотен тысяч людей сложилась в направление, которое в итоге привело к тому, где мы сейчас и что можем.
Хотя, казалось бы, прогресс должен быть про уметь больше, а не меньше. Но нет.