686
订阅者
无数据24 小时
无数据7 天
+230 天
帖子存档
686
https://grishaev.me/pg-book-json-ch10/
Вот, книжка готова. Осталось перечитать ее несколько раз, сверстать и издать. Не знаю, как скоро это получится, не дело идет!
686
Пишут, социальные сети проигрывают иски, связанными с детьми. Где-то соцсети даже признали вызывающими зависимость, то есть приравняли к сигаретам и алкоголю. Представители соцсетей вяло оправдываются и предлагают меры: ограничить доступ при помощи детских аккаунтов, привязанным к родительским.
У меня есть несколько мыслей по этому поводу.
Во-первых, к соцсетям я испытываю крайнее отвращение. Сидеть в них для меня – примерно как купаться в нечистотах. Понимаю, дело вкуса, но от одного вида VK или Фейсбука меня подташнивает. Так что да, я предвзят.
Во-вторых, тезис о зависимости поставлен совершенно верно. Всяких топ-менеджеров и директоров по развитию не интересуют дети. Пусть ваши дети торчат в телефонах до 4 утра, отвлекаются на уведомления, завидуют, ревнуют. Это никого не интересует. Топ-менеджеру важно расширить продукт и получить деньги, поэтому в ход идут все более хитрые инструменты, чтобы удержать ребенка у экрана.
Наконец, третье: детский аккаунт – это обман. Формально они будут созданы (где-то уже созданы), но пользоваться ими никто не будет. Почему? А потому, что я пробовал и что это такое.
Когда моему сыну еще не было 13 лет, он начал пользоваться смартфоном. Покупал и настраивал его, конечно, я. При входе в аккаунт я всегда указывал возраст старше 13, чтобы система не придиралась. И вот однажды решил проверить: что будет, если указать честно?
Гугл говорит: до 13 лет нужен детский аккаунт, который нужно привязать ко взрослому. Я попытался пройти процедуру и не смог. Нужно что-то сделать на детском телефоне, зайти в админку на своем телефоне, ввести пароль, код из смс, что-то подтвердить, взять обратно детский, что-то там нажать, потом еще раз подтвердить на родительском. Пайплайн очевидно не доработан: то ошибка, то бесконечный спиннер, то попробуйте еще раз. Короче, ад. Плюнул и указал возраст 16 лет.
Поэтому когда я слышу “детские аккаунты”, то знаю заранее – это обман. Квест пройдет только очень мотивированный родитель, который понимает токены-сессии-подтверждения. Обычный человек не будет разбираться. Ребенок откроет обычный аккаунт, укажет 16 лет, и система его пропустит. В итоге все довольны: у родителя не болит голова с настройкой детского аккаунта, ребенку не нужно долбить родителя, соцсеть собирает данные, топ-менеджер идет на повышение.
Я понимаю, что там, где дети, очень строгое законодательство. Должны быть выдержаны все нормы. Но дело в том, что когда они выдержаны буквально, возникает такой порог, что всем участникам проще обойти его.
По-хорошему нужно запереть в одной комнате дизайнера, программиста и юриста. Далее не выпускать их до тех пор, пока они не построят удобную регистрацию детского аккаунта — такую, где справится обычный человек. Максимально сократить число экранов, подтверждений, переходов, но так, чтобы удовлетворять закону.
Будет ли соцсеть этим заниматься? Нелепый вопрос. Так что детский аккаунт – это подачка суду, чтобы утерлись. Да, сделали детские аккаунты. Да, занимает двадцать экранов. Да, все по закону. Да, никто не пользуется, но это не наша вина: виноваты тупые родители и ушлые дети.
Цинизм соцсетей и раньше был запредельным, а теперь просто рвет в небеса.
686
Смотрел доклад. Хороший, но рассказчик злоупотреблял одним приемом: задавал вопросы в зал и просил поднять руки. И я вспомнил, что давно хотел об этом написать.
Мне неприятно, когда выступающий обращается к залу с просьбой реагировать на выступление. Я считаю это настолько низким приемом, что хочется поскорее выкинуть его из головы как что-то неприятное.
За сорок минут доклада автор, наверное, раз пятнадцать обращался к зрителям: поднимите руки те, кто... Разумеется, на ход повествования это не влияло. На кажыдй вопрос докладчик только комментировал: "о, как много" или "о, как мало" и как ни в чем не бывало продолжал. В целом это напоминало игру с иллюзией выбора: в лучшем случае изменится часть кат-сцены, а дальше игра идет как обычно.
Начиная с пятого вопроса докладчик всегда поднимал руку сам. Словно дрессировщик перед собакой, он показывал: смотрите, надо сделать вот так (поднимает руку вверх), и я буду доволен.
Сидя в зале или перед монитором, я не хочу быть дрессированной собакой. Я считаю, что уважил докладчика уже тем, что пришел. Я здесь, рассказывай, только пожалуйста, не заставляй поднимать руки. По той же причине мне не нравятся номера артистов с людьми из зала. Даже когда я смотрел маленьким КВН, мне не нравилось, когда выступающие обращались к членам жюри или Маслякову. Зачем? Им запрещено взаимодействовать, они смотрят и улыбаются.
Так что когда выступающий просит поднять руку, я не делаю этого, даже если тысячу раз подхожу под критерий. Я смотрю и улыбаюсь: давай выступай, а не командуй. Не за этим я сюда пришел, чтобы работать дрессированной собакой.
А у вас есть такое? Поднимите руки те, кому тоже не нравится.
686
К одному из прошлых постов был комментарий, который я бы хотел обсудить отдельно.
В какой-то момент обратил внимание, что коллеги на ревью оставляют очень развёрнутые комментарии, написанные без единой орфографической ошибки. Думаю – неужто разработчики резко научились выражать мысли? Потом дошло, что чуваки просто скармливают пуллреквест элэлэмке и постят её ответ (при том что в гитлабе есть кнопка "запросить ревью у ИИ"). И почему-то это очень неприятно (хотя комментарии преимущественно по делу), но я для себя не могу сформулировать, почему именно.
Мне тоже неприятно, когда собеседник выступает мясным прокси. Вопрос только – почему? Что с того, что человек пользуется популярной технологией?
Ответ в следующем: в общении между людьми все решает этикет. Без него общение будет невежливым как в бумажной переписке, так и в межгалактическом звонке. Собеседники должны уважать друг друга – вот единственный залог нормального общения.
Как я уже упоминал, у многих ИИ-ребят плохо с этикетом. Каждый решил, что получил источник безграничных знаний и решение на все случаи жизни. С ним не нужно искать вежливые слова и соблюдать приличия – только копировать выхлоп нейросети, и все диалоги, задачи, дискуссии будут в твою пользу.
Если говорить конкретно о комментариях нейросети, которые коллеги выдают за свои, то они напоминает вот что. Каждый из нас совершал такую ошибку: заходил в организацию и пытался попасть в директору. На входе охранник или вахтер спрашивают: вам по какому вопросу? Ты как дурачок выкладываешь свой вопрос. Охранник внимательно слушает и отвечает: по понедельникам директор не принимает, и вообще он на месяц в отпуске. Зачем тогда было спрашивать причину визита? Просто чтобы развлечься: человеку скучно, хочется послушать чужие дела. Такой у него характер, нравятся подобные вещи, что поделаешь.
Ребята, которые выдают ревью нейросети за свое, в сущности, такие же. Пройти мимо – скучно, и хочется как-то о себе напомнить, посмотреть на чужую реакцию: как он будет выкручиться?
Очевидно, если человек запрашивает мнение нейросети, он не разбирается в вопросе. Нужно ввести это в контекст. Этичный комментарий звучал бы примерно так: "дружище, я не вникал в тему, но нейросеть говорит сделать так. Я вижу, что ты сделал по-другому и поэтому спрашиваю, чтобы лучше понять. Этот коммент на твое усмотрение."
Даже если в теле коммента идет выхлоп нейросети, общение остается человечным. Видно, что на том конце не мясной прокси, а нормальный человек. А когда голая копипаста – увы, этого не только не видно, но вы навлекаете на себя подозрения в вахтерстве и проксировании.
Так что вот почему машинные комменты так выводят. Будь нейросеть трижды права, вы не этичны. И тут вам нейросеть не поможет.
686
В этот светлый день не помешает вспомнить, как пишутся праздники-даты. Если число пишется прописью, оно принимает на себя заглавную, а месяц пишется со строчной. Пример: Третье сентября. Если число пишется цифрой, заглавная переходит к месяцу: 3 Сентября. Не перепутайте!
686
Прогресс не стоит на месте, и все чаще я сталкиваюсь с результатом вайб-кодинга. Сначала я хотел написать “с нейрослопом”, но передумал. Кажется, это слово считается обидным: людям неприятно, когда их работу называют помоями, поэтому обойдемся нейтральным термином.
Я смотрю на результат вайб-кодинга и не знаю, что с ним делать. Во-первых, объемы: текущий PR, что передо мней, включает 3200 новых строк. Вдумчиво их просмотреть – это сорок минут мозговой деятельности, а если учесть набор комментариев – то весь час.
Далее, комментарии. Набирая их, понимаешь, что автор скорее всего не будет их читать. В лучшем случае он скормит их модели и скопирует ответ, но скорее всего просто проигнорирует.
Качество сгенерированного кода посредственное. Код раздут, ему не хватает краткости. Я не говорю о стремлении записать все в одну строку; речь о той краткости, при которой код передает идею. Вместо встроенной функции – свой костыль: на момент обучения модель не знала о возможности языка. Вместо одного класса – два: абстракция и транспорт, хотя можно было свести к нескольким функциям. В коде на Питоне везде проверки: это словарь? это строка? это число? И много другого в том же ключе: приемлемо, но лучше исправить.
Ощущение, что код писал джуниор с заявкой на мидла. И тут возникает момент: был бы автор человеком, мы бы сели и разобрали все минусы. В следующий раз он напишет код лучше, а через какое-то время ему можно будет доверять. А вот что делать с коммерческой моделью – я не знаю. Автор очевидно не хочет учиться сам. Зачем мне тратить час на объяснение недостатков? С таким же успехом я могу объяснять их уборщице или коту.
Насколько я понял, код, написанный моделью, поддерживается одним способом – моделью. Если требуются изменения в логике, править вручную будет тяжело – не найдешь концов. Ожидается, что у разработчика развернуто окружение, плагины и всякие модели, чтобы сказать, что именно поправить в слопе, и модель поправит.
Возникает противоречие: как быть, если кто-то (например я) не пользуется моделями. Как править этот код? Разворачивать окружение, переходить на вайб-кодинг? Не знаю. Лично я не собираюсь этого делать и, наверное, пересмотрю место работы, если слопа станет все больше.
Уже на этом этапе заметна зависимость от моделей и подписок, в которую впадают разработчики. Чтобы поправить код, произведенной моделью, нужна модель. Нам же известно понятие “вендор-лок” и его последствия, ведь так? Разве эти ваши клоды-копайлоты не вендор-лок? И вы, друзья-элэлэмщики, не только садитесь задницей на иглу моделей все глубже и глубже, но и затягиваете других.
686
Когда что-то не работает, очевидное решение в том, чтобы починить. Второе неочевидное – отказаться. Чем старше становлюсь, тем чаще отказываюсь от того, что ломается. Разумеется, тезис слишком абстрактный и решается по ситуации. Но часто отказ не рассматривают в принципе и чинят одно и то же годами. Не надо так: отказ и пересмотр очень важны.
686
Читаю Конфуция. Вот какой случай дал повод о нем напомнить.
Жил в Америке ультра-мага-патриот. Трамп, все дела. Потом он женился на русской эмигрантке, и пара поехала в отпуск. Супруга как раз продлевала визу, и оказалось, что старый документ уже недействителен, а новый еще не выдали.
В аэропорту к паре подошли представители ICE – Immigration and Customs Enforcement (иммиграционная и таможенная служба США). Тут важно понимать контекст. Формально ICE борется с незаконной миграций, однако при Трампе штат расширили на порядок, чтобы проводить облавы. На работу в ICE устраивается отребье: отставные военные, бывшие таксисты и охранники. Мало того, что эти люди озлоблены на всех и вся; государство дает им в руки летальное оружие, чтобы задерживать мигрантов.
То, что подобные облавы проходят со всеми возможными нарушениями, нет смысла и говорить. Достаточно не той одежды, головного убора, цвета кожи, чтобы оказаться в приемнике на месяцы. Семьи разделяют. Иногда при задержании гибнут люди.
Представителям ICE не понравилось, что у супруги виза еще не выдана. Ее отправили в приемник, и там она провела несколько недель. Ситуация в приемнике ICE местами хуже, чем в тюрьме. Например, свет никогда не выключают, а охранники нарочно громко говорят по рации. Неделя – и от недосыпания едет крыша. Никаких медикаментов достать нельзя, правозащитников не пускают. За грубое слово изобьют и скажут родственникам, что поскользнулся на банановой кожуре.
Все это время муж пытался вызволить супругу, навещал ее трижды в неделю. Видел все своими глазам. В итоге женщину отпустили под залог с надетым на ногу браслетом. В обращении к прессе мага-патриот сказал, что разочарован в Трампе и ситуации с преследованием людей.
История пары на этом не кончилась: им еще ходить по инстанциям (в браслете) и доказывать правоту. Однако оставим их и подумаем над другим вопросом: при чем же тут Конфуций?
При том, что примерно в 680 году ДО нашей эры (то есть 2700 лет назад) Конфуций вывел формулу человеколюбия: не делай другим того, чего не желаешь себе. Разумеется, и до Конфуция эту мысль высказывали в том или ином виде, но он возвел ее в абсолют. На человеколюбии держится все учение Конфуция.
Условный мага-патриот уверен: можно устраивать облавы на мигрантов ради высшего блага. Ведь это мигранты: они цветные, глупые, что с них взять. Подумаешь, в приемнике тяжело спать и нет медикаментов? Это ложь правозащитников.
Но когда в жернова попадает близкий человек, все меняется. Товарищ Сталин Трамп, произошла чудовищная ошибка…
Если бы у мага-патриота был хоть грамм мозгов, он бы понял, насколько справедлива формула Конфуция. Не желай другим гнить в приемнике, если не хочешь, чтобы то же самое случилось с тобой – или близким, что отнюдь не лучше.
За последние 2700 лет люди не придумали ничего лучше этой формулы. Остальные религии и учения – просто ее повторы. Например, формула целиком вмещает десять христианских заповедей: почитай родителей, не укради, не убий… В самом деле: хочешь, чтобы дети тебя уважали как родителя? Уважай своих родителей. Не хочешь, чтобы у тебя крали? Не кради сам. Не хочешь быть убитым? Не убий.
И так далее.
Глядя на историю людей, иной раз поражаешься. Мысль высказали 2700 лет назад и с тех пор повторяют во всех вариациях. Понять ее – это ведь не вырастить плавник или третью руку: тут не нужны тысячелетия. Но судя по текущей обстановке, до понимания формулы осталось еще очень и очень долго.
686
Когда вы увозите ребенка к бабушке в деревню, скорее всего там нет микроволновой печи, кондиционера, интернет-канала под 4К и других полезных вещей. Но никто не сомневается, что ребенку в деревне полезно: речка, солнце, животные. Отдохнет от гаджетов, помоется в дачном душе и вообще – не развалится.
Так и здесь. Да, чего-то не хватает, но не развалитесь. Можно и на Кложе писать хороший софт, зарабатывать и получать удовольствие. Да и не только на Кложе: я бы с удовольствием взялся бы за коммерческий проект на Common Lisp или Cobol — да на чем угодно! Нет тулинга? Не беда: либо обойдусь, либо напишу свой.
С таким настроем легко жить и смотреть в будущее.
686
Если я правильно понимаю ты писал (пишешь?) на питоне в том числе. Просто я немного поглядываю что происходит в мире clojure и вижу, люди как-то справляются без linter-ов, typechecker-ов и без такого инструмента, как uv (это менеджер интерпретатора, зависимостей проекта и виртуального окружения) в мире python. Когда работаешь с чужим кодом и погружаешься в него, то такие вещи очень сильно помогают. Возможно, в мире clojure как-то можно обойтись без них, но тогда мне интересно как?До прихода в Кложу я много писал на Питоне. Сейчас, хоть и меньше, тоже приходится: на работе есть Python-лямбды и скрипты. Питон — популярный язык, и я прибегаю к нему в случаях, если нужно что-то продемонстрировать для широкой аудитории. Если отвечать на вопросы буквально, то да: тулинг Кложи не дотягивает до Питона. Для него созданы десятки линтеров и чекеров, а к каждому — еще столько же плагинов. Есть Jetbrains с Pycharm, которая выводит типы и предлагает автокомплит на любой чих. Программирование на Питоне в Pycharm стало как в Джаве — все типы подхватываются, и возникает ощущение, что в языке строгая типизация. Что касается uv и uvx, то я не застал их, но знаю, что это мощные средства. До этого изобилия Кложе далеко как до Луны. IDE нет, есть только плагины к редакторам. Я пользуюсь связкой Emacs + Cider, но понимаю, что освоить ее новичку трудно. Автокомплит каждый настраивает как может. Проверку синтаксиса в полете и прочие удобства — тоже. Централизованным решением вроде Jetbrains даже не пахнет, и вряд ли оно когда-либо появится. Не все так плохо с линтерами. Есть весьма развитый clj-kondo, который отлавливает много ошибок, например неверное число аргументов, необъявленные переменные и так далее. Суммарно кложурных линтеров наберется с десяток, и если использовать хотя бы пару из них, это решит некоторое число проблем. Также есть форматтеры кода по определенным правилам. Существует кложурный LSP сервер (Language Server Protocol). Во многих редакторах LSP-клиент идет из коробки (VS Code, Emacs), так что здесь наблюдается развитие. С LSP у вас будет автокомплит, переход по коду и остальные базовые вещи LSP. В Кложе есть REPL, который закрывает много проблем. REPL основан на том положении, что единственный способ доказать, что код работает – это запустить его. Бывает, что код на Джаве выглядит корректно, но не работает. Непойманное исключение, ошибка индекса в массиве, NPE и так далее. Все это проверяется на практике, компилятор не поможет. Будет глупо оправдываться тем, что компиляция прошла: какая разница, если прод падает? Зато REPL позволяет выполнить код в редакторе и отловить подобные случаи. Кстати, замечаю вот что: все больше джавистов топят за TDD – разработку от тестов. Парни не понимают, что TDD – это прокисший REPL, своего рода костыль, чтобы поскорее запустить код. В Джаве нет репла, но есть зеленая кнопочка Run, которая появляется в Main- и Test-классах. Нажатие этой кнопочки – просто убогий способ запустить код и ничего больше. REPL не отменяет тестов, и их пишут – юнит-, интеграционные и так далее. Если переходить на Кложу с языков вроде Питона или Джавы, будет неудобно. Там у вас уютный Jetbrains, который по одной клавише угадывает экран кода. Здесь — самосбор: плагины к редактору, запуск линтера из командной строки. Зачем все это? Затем, чтобы выйти из зоны комфорта, увидеть разнообразие, попробовать себя в чем-то другом. IDE и тулинг на все случаи жизни — это здорово, но нельзя на них замыкаться. Не вся работа делается в IDE по подписке. Когда Рич и Кен делали Unix и Си, разве были у них средства, аналогичные нашим? Они сами написали линтеры, парсеры, чекеры и прочие обвязки. А как написали IDE без IDE? Удобства – это хорошо, но плохо, когда зависишь от них. Если точнее, плохо, когда кругозор сужается до той степени, когда жизнь без удобств становится немыслимой. Речь не о том, чтобы полностью от них отказаться. Но полезно быть в состоянии что-то сделать без привлечения мощных средств.
686
Да или нет?
Кстати, лютейше бесят ребята, которые делают кнопку подтверждения слева. Это неправильно. Продолжение действия должно быть справа, а слева — возврат или отмена. Разумеется, к тем ребятам, которые не могут показать текст, это не относится — у них еще все впереди.
686
Почти на всех сайтах я замечаю повторный рендер. Это когда контент нарисовался, а потом Реакт решил, что виртуальное дерево устарело. Поэтому вжух – и контент рисуется еще раз.
То же самое во многих мобильных и настольных приложениях вроде Slack или Teams — которые только называются "приложениями", а на самом деле оболочка Хрома или WebView.
Никто не считает это проблемой. Подумаешь, мигнул контент! В нулевые скорость была низкая, верстали таблицами, и сайт собирался по 30 секунд. Бывало, уже давно читаешь текст, и раз – что-то подгрузилось, подпрыгнуло, перестроилось. А тут – всего-то мигнуло.
Забавно, что современный фронтенд по-прежнему в ситуации эпохи нулевых – не может победить технические трудности. Должен быть улучшенный алгоритм рендера, который бы не срабатывал дважды. Еще лучше – дать над этим контроль разработчику.
Ну и фронтендеры хороши: никого не парит, что экран мерцает. Я вот заметил недавно, что на каждый клик огромная таблица повторно рендерится. А мне отвечают – не приоритетная задача. Спасибо, починим через никогда.
Давайте договоримся: не важно что у вас под капотом, Реакт-Вуй или что угодно. Контент не должен перерисовываться только потому, что ему так показалось. А если эти ваши Реакты-Вуи не починить, то верстайте так, чтобы не провоцировать повторный рендер.
686
Коротенькая заметка о ребятах, которые на все отвечают выхлопом нейросети: Don't be a meat proxy. Хороша уже тем, что метко вводит новый термин: meat proxy. Мясной посредник между человеком и нейросетью.
Замечаю, что все больше людей скатываются к роли посредника. Задаешь коллеге вопрос – он подвисает на пять минут и кидает md-выхлоп. Разумеется, он его не читал: тебе надо – ты и разбирайся.
Попадаются ребята, которые открыто пишут: Иван, я передал твои замечания по ревью нейросети, и вот что она сказала… Далее идет md-выхлоп, который, конечно же, заботливый коллега даже не читал.
Некоторое время я не знал, что делать с такими людьми – по каким углом смотреть и как взаимодействовать. На мой взгляд, человек, который проксирует каждое обращение к нейросети – словно проблемный родственник. Лучше его не провоцировать и не подкидывать горячих тем, и тогда, может быть, все обойдется.
Со временем я понял, что, похоже, некоторые люди плохо улавливают этикет. Каждая технология требует своего этикета, но не все это понимают – в инструкции не написано. Скажем, когда появились мобильные телефоны, считалось нормальным обсуждать бытовые дела на всю маршрутку. Когда появились планшеты и мобильный интернет, каждый решил, что можно включить сериал или игру без наушников. Сейчас так поступают разве что дети и пенсионеры.
С нейросетями та же история. Есть те, кто по какой-то причине не понимает: людям нравится нормальное, живое общение. Взаимодействие с машиной – это один протокол, с коллегой – другой. Если коллега отвечает макрдаун-выхлопом, с ним просто не хочется общаться – каким бы лапочкой и хорошим человеком он ни был.
Верю, что когда-то это поймут. Я подожду.
686
Иногда русская озвучка бывает, мягко говоря, спорной. Актеры кричат в тех местах, где персонаж шепчет; интонация странная, пропадают акценты, идиомы, игра слов. Так что если вам позволяют условия (знаете язык, партнер(ша) не возражает), лучше потреблять фильмы и игры в оригинале (или позже пересмотреть ключевые сцены). У этого правила, однако, есть исключение: иногда в оригинале звучит русская речь. Сделано это так, что хочется не слышать ее ни за какие деньги.
Имеем американского персонажа. Всем он хорош: и силен, и умен, и женщину спас. Одна беда – русского происхождения. И вот на середине фильма всплывает русская мафия, дядюшка или бывшая, с которыми герой изъясняется по-русски. То есть как по-русски: в Гугл-транслейт набивается текст на английском, тот выдает русский транслит. Актер учит его наизусть как абракадабру: “Татиана, как дафно ты юже десь?” Татьяна: “Пивет Джон, две ньидели ка пиехаля”.
Разумеется, у меня нет претензий к американскому зрителю. Им без разницы – русский, бурятский, венгерский – все это диалекты каких-то варваров. Но куда смотрят создатели фильма? Разные факт-чекеры и прочие специалисты, которые отвечают за реалистичность сцен. Неужели нельзя найти русскоговорящего актера с похожим голосом и озвучить пару фраз? В чем сложность?
Когда русский бандит обращается к американцам, проблемы с акцентом не возникает. Тут даже переигрывают: “лэт мы спык энглиш фр-р-ром май хар-р-рт”. Плохой персонаж всегда будет с рокочущим “р”. Как обезьянничать, так все мастера. А как насчет нормальной речи?
Много лет назад со мной был случай. Я играл в одну игру, и там на хороших парней (американцев) напали плохие (конечно, русские). Атаку отбили, и одного молодого бандита взяли в плен. А он оплакивает убитую шальной пулей сестру: Наташа, очнись, солнышко, пойдем… и все это – на чистом русском. Ощущение, словно за спиной кто-то говорит. Я аж подскочил на стуле.
Из Википедии и всяких ссылок я узнал, что этот фрагмент – инициатива русскоязычного сотрудника студии. Изначально дорожку записали как есть – транслитом. Вообразите, как бы звучали слова скорби из уст человека, который не знает языка? Картавые “встаувай, Натаща, ти живуа? Нье умиай!” Все это – в момент смерти? Это даже не кринж, а пиздец, и так делать нельзя.
Разработчик прекрасно это понимал, и сделал вот что. Когда все ушли, он записал дорожку на нормальном русском и подменил в ассетах. Никто не заметил, и русская речь ушла в релиз. Позже игру хвалили в том числе и за это: впервые за вечность в игре адекватная реалистичная речь, а не транслит.
Выходит, что инди-студия смогла, а Голливуд не может? Слабо верится.
Интересно, что в локализации фильмов мы не сталкиваемся с подобным кринжем: герой говорит с родными на нормальном языке, в то время как в оригинале звучит тарабарщина. Оригинал, увы, нет-нет да подкинет подобный сюрприз. Длятся подобные сцены недолго, но даже их хватает, чтобы свалится на пол от отчаяния и стыда.
686
Как-то давно, аж в 2023 году, я жаловался на куко-баннеры. Проблема вот в чем: сегодня почти любой сайт выстреливает плашкой о том, что выставляет куки. Десятилетиями мы с этим жили, но пришли европейские бюрократы и сказали: непорядок. Надо не только уведомлять, но и предлагать пользователю выбор. Все куки, только обязательные, необязательные и обязательные, свой выбор. Дополнительно прилагается простыня о том, как эти куки.
За европейскими бюрократами подтянулись другие по всему миру. Вместе с тем нам не повезло с дизайнерами: никто не стал договариваться, каждый кто в лес, кто по дрова. Один сайт показывает выпадашку, другой две, третий – полоску, четвертый прячет контент и так далее.
Мечта еврочиновника сбылась: все сайты уведомляют. Стало ли конечному пользователю удобней и безопасней? Нелепый вопрос. Пользователю ничего не остается как ставить плагины вроде "I don't care about cookies". Одновременно схожую функциональность добавили в блокировщики рекламы.
Последнее особенно забавно: между блокировкой рекламы и куко-баннера нет разницы. Не все ли равно, что там в выпадашке? То и другое одинаково мешает увидеть контент, поэтому выход — резать.
На мой взгляд, совершенно очевиден следующий факт. Если каждый сайт спрашивает о какой-то ерунде, эту ерунду выносят в настройки браузера. Должен быть особый раздел, где я жму галочку "пофиг на куки". Это свойство доступно в JavaScript; сайт читает его и определяет, показывать окно или нет. Другой способ без JavaScript – браузер отправляет заголовок вида
X-Cookie-Policy-Preferences=pofig
Бэкенд проверяет значение на множество all, none, essential-only и другие и определяет, показывать окно или нет.
Можно написать спецификацию, которая определяет важность кук, признак их передачи сторонним фирмам и так далее. Все это технические детали, но важно одно: когда есть соглашение, под него можно сделать интерфейс.
Повторюсь, текущая ситуация, когда каждый сайт кукарекает о куках, никуда не годится. Чиновник доволен, а нам-то с вами этим пользоваться. Вспомните, что было, когда в браузеры добавили уведомления. Каждый сайт при открытии долбил: включи нотификации, включи нотификации, че ты как лох, включи-включи-включи. А еще дай доступ к геолокации и трекингу, чтобы два раза не вставать. Позже нотификации и прочие разрешение вынести в настройки: можно задать глобальное умолчание и исключения.
(В скобках: удивляюсь, почему нет глобального запрета на перевод страницы. Открыл сайт на английском – перевести на русский? Открыл на русском – перевести на английский? Чинится системной опцией в Firefox, а настройки "никогда ничего не переводить" до сих пор нет).
Так вот, к чему это все. Появилась инициатива под названием Kill the cookie banner! От каждой страны набираются волонтеры, которые будут сражаться за то, чтобы кук-обаннер настраивался в опциях браузера. Проект полезен уже тем, что показывает: есть люди, которым не все равно. Не хомяки вроде меня с плагином-банерорезкой, а те, кто хотят что-то изменить. Искренне желаю им успехов, пусть даже локальных, например на территории каких-то стран.
Напоследок напомню, что в интернете все еще есть сайты, которые прекрасно работают без кук. Например, мой: https://grishaev.me/686
Долгое время в Телеграме нельзя было постить текст с картинками. То есть было можно, но со скрипом. К обычному тексту нельзя добавить картинку, а если это сделать, то сообщение становится типом "медиа", и его текстовая часть сильно меньше. Премиум закрывает этот недостаток, но появляется другая беда: текст выравнивается по ширине картинки. Если картинка маленькая, текст превращается в мышиный хвост.
В результате народ постит текст и картинки отдельно, чтобы не страдало ни то, ни другое. Но получается два сообщения, и если хочешь поделиться ими, приходится пересылать пару. Словом, бред.
Со временем Телеграм стал полноценной медиаплощадкой; есть даже проекты, у которых единственный канал – месаджеры. При публикации картинок каждый извращался как умел: выносил их в галереи, объединял в коллажи и так далее.
И вот в Телеграм завезли полноценный визивиг-редактор. Это когда картинки и текст чередуются, и нет смысла делить публикацию на текстовый блок и медиа. Также сделали заголовки, списки и редактор таблиц – этакий Ворд.
Что ж, на словах все прекрасно, а вот на деле… ради интереса я сверстал небольшую статью: три абзаца, а между ними картинки. Сбросил в сохраненные сообщения и проверил на ноутбуке и телефоне. Оказалось, что шрифт статьи на один-два пункта меньше, чем обычный текст (см. картинку). Получается, тот, кто читает с ноута, будет напрягать глаза. Проверил настройки: шрифт выкручен на максимум, отдельной опции для шрифтов статьи нет.
На телефоне оба шрифта – обычной публикации и статьи – одинаковы, и это хорошо. Но блок статьи срезан слева на один сантиметр. Почему? Зачем его срезать? Для чего пустота слева? Там ни одной кнопки, просто щель шириной в сантиметр, и через нее сквозит фон.
На обоих устройствах клиенты последних версий.
Надеюсь, что в будущем шрифты подтянут. Увы, пока что я не готов оформлять текст с картинками в виде статей: щурить глаза ради чередования картинок – так себе удовольствие.
686
a.set(b.get() + c.get())
Или, если речь идет об x = x + 1:
x.set(x.get() + 1)
Другой дело, что на тот момент, когда на доске впервые записано x = x + 1, ученик еще не знает об объектах. Поэтому в ход идут коробочки, из которых достали сто рублей, добавили и положили обратно.
Повторюсь: кому-то сказанное покажется банальным, но я считаю, о присваивании говорят мало – а тема очень интересная и сложная.