Заметки

Позднее Ctrl + ↑

Принцип не-осуждения

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

У нас этот подход, в общем, тоже есть — даже в фольклоре осел со знаменитым «не суди и не судим будешь». Жаль, что пока не так широко применяется.

2 сентября 2018 тем временем

СКД и право просмотра

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

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

У вас настройка кривая, товарищ!

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

Не скажу сходу, что именно тут сбило платформу с толку и привело к не очевидной диагностике — то ли манипуляции с временной таблицей, куда эта константа была прочитана, то ли то, что читалась она в конструкции ВЫБОР, то ли то, что на сам справочник валют все необходимые права были. Искать конкретное условие или их сочетания я не стал — думаю, это просто специфика реализации движка СКД, которая может меняться от версии к версии. Достаточно не забывать о праве просмотра, и проблемы не будет.

Что касается ошибки, при столкновении с ней стоит вывести проблемный отчет под полными правами. Если тут всё о'кей, нужно набросать список таблиц, откуда отчет читает данные, и проверить — все ли они с правами на чтение и просмотр.

Нудно, но может сэкономить прилично времени.

28 августа 2018 готово

Беги от дочери морей

Наталья О'Шей озвучила русский ролик для грядущего обновления World of Warcraft. У неё круто получаются такие образы — умеет и настроение создать, и стали в голос припустить.

Вообще, если говорить о ней и «Мельнице» в целом — самые сильные песни у них именно те, где речь о чем-то конкретном. Были весной на концерте в честь выхода «Люциферазы» — прямо небо и земля; то ли мне не хватало знания контекста, то ли многие тексты и правда были здорово абстрактными, не знаю. Но в итоге местами было трудно понять, о чем песня, и настроение порядком сбивалось.

А тут даже знать особо ничего не нужно. Я в WoW не играл и не буду, но от финальных интонаций морозом по коже все равно отдает :-)

29 июля 2018 видеоигры

Печать ГПиМРМ

Возможно, вы уже слышали про то, что русский перевод «Методов рационального мышления» Элиезера Юдковского пошел в некоммерческую печать (спасибо «Эволюции» и другим инфопартнерам), но на всякий случай напомню ещё раз.

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

22 июля 2018 книги

Результаты FCE

Кембридж прислал результаты июньских экзаменов. И — вступают трубы — FCE я сдал! Судя по баллам, ухитрился в чём-то налажать во время письменной части, зато неплохо отыгрался во время разговорной. Жаль, что экзаменаторы не дают более подробных комментариев; впрочем, и так понятно, куда дальше воевать :) Преподаватель заметила, что раньше вообще сообщали только итоговый балл — мол, понимайте как хотите, уважаемые претенденты.

В общем, в следующем году перевешу планку повыше — видимо, нужно готовиться к CAE.

По этому поводу вспомнился Фейнман со своей знаменитой «Вы, конечно, шутите». Среди прочего он рассказывал, как во время жизни в Бразилии учился играть на фригидейре и доучился до того, что его стали ставить в пример местным музыкантам:

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

― Ричард Фейнман

Между «все ошибки» и «приятно слушать» непринужденно опущено целое море труда, но в целом этот синопсис мне нравится. Работаем куда-то туда!

15 июля 2018 книги готово английский

Kona

У игры есть сильные стороны, которые честно старались удержать мое внимание: тут есть где погулять, что почитать, о чем подумать и на что посмотреть. Если вы цените это в играх — возможно, вам понравится. От прогулок и размышлений почти ничего не отвлекает — умереть от чего бы то ни было тут довольно сложно. Ровно как и заблудиться — у главного героя есть карта и автомобиль, а позже можно раздобыть ещё и снегоход.

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

При этом мистическая сторона сюжета сама по себе зияет здоровенными дырами. Да, картина трагедии ближе к концу становится более или менее понятна — но даже последнее, самое полное видение само по себе рождает целую кучу вопросов, на которые никто не трудится отвечать. Сюжет в этой игре вообще здорово напоминает её же карту — выглядит цельным, но по факту доступна от силы половина, а остальное скомкано под отчетливо читаемое «ну, потому что магия, магия такая, понимаете?».

Нет, блин, не понимаю.

29 мая 2018 видеоигры

Сообщение пользователю

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

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

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

30 апреля 2018

Эти мерзкие смартфоны

Социум

Художник — Адам Эллис.

По-моему, это отличная иллюстрация к вечному стону «чего они все таращатся в телефоны, бла-бла-бла». Причина проста, как три копейки — у людей в телефоне их друзья и подружки, книжки и подкасты, игры и ютуб. Всё это куда интереснее, чем, скажем, хмурый дядька или мрачная тётка с синдромом гуру.

То же касается и детей. Соцсети набиты спорами по этому поводу, как бочка селедкой, однако причина проблемы остаётся точно такой же: если подросток при виде вас утыкается в телефон, ему с вами попросту не интересно и проблема, очевидно, в вас самих.

31 марта 2018 тем временем

Двойная «i»

Разбирался недавно с транслитерацией собственной фамилии. Согласно правилам МИД'а, на английском она пишется как «Kostianetskii» — с двойной «i» в конце. Такое сочетание букв встречается довольно редко — «skiing» единственное частотное слово, которое приходит в голову.

Мне стало любопытно, почему так, и я загуглил. Точного ответа не нашёл, но одна из возможных причин забавная: пропись! Две «i» рядом только на экране смотрятся хорошо, а когда пытаешься написать их от руки — внезапно получается «u».

Подробнее и нагляднее про это — здесь.

9 марта 2018 английский

Разные стороны медали

Привет!

Фидбек — одна из самых клевых штук в моей профессии. Да, не первый год программирую, да, кучу всего написал, переписал и переделал, и всё равно каждый сложный механизм, наконец заработавший так, как надо — это… Ну, не знаю. Как снова и снова слышать «да» на выпускном бале :-)

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

5 марта 2018 работа

Ваши документы

Крутая экранизация «Papers, Please», даром что на десять минут. Савочкин здорово сыграл, да и остальные не подкачали, включая сценариста. Запихнуть в такой хронометраж драму и сюжетный твист — это надо уметь.

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

1 марта 2018 фильмы видеоигры

Чего так серьезно?

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

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

17 февраля 2018 код с запашком

White Day

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

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

17 января 2018 видеоигры

Выгрузка автобусных рейсов

С тех пор, как мы с коллегами заново автоматизировали КПАТ, она работает на «Управлении автовокзалами». Это конфигурация для 1С:Предприятия, то есть её можно сравнительно быстро интегрировать почти с чем угодно.

Первым делом мы решили наладить выгрузку маршрутного расписания автобусов на E-Traffic и Яндекс.Расписания.

Что это за ресурсы?

Первый ресурс, E-Traffic — это крупнейший в России агрегатор данных автовокзалов. Собирает информацию о запланированных рейсах и выступает как агент по продаже электронных билетов. То есть пассажирам не нужно продираться через сайты автовокзалов — на E-Traffic можно купить билет откуда угодно куда угодно.

Что касается Яндекс.Расписаний — это один из дочерних проектов российского поисковика. Как и E-Traffic, предназначен в первую очередь для пассажиров и умеет быстро строить относительно сложные маршруты с пересадками. Билетами они, правда, не торгуют.

Как была сделана выгрузка?

Поначалу мы нагородили довольно сложную архитектуру, позволяющую транслировать расписание в обе системы. Потели как черти — пока в ходе переговоров не выяснилось, что у E-Traffic уже есть рабочий транспорт для передачи расписания в Яндекс, и задача естественным образом не усохла вдвое.

Технически всё было сделано в виде веб-сервиса для «Управления автовокзалами». Получив SOAP-запрос от E-Traffic, он собирал внутри информационной базы 1С:Предприятия все необходимые данные о запланированных автобусных рейсах и возвращал их в виде XML-ки.

Нам даже не пришлось писать код получения расписания с каждого вокзала, входящего в сеть КПАТ'а: все они создаются и хранятся в одном месте — главном узле РИБ, а веб-сервис мы развернули именно там. В итоге больше времени ушло на разные согласования, чем на программирование.

А где посмотреть?

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

17 ноября 2017 готово работа

Себби x Игрок

В конце июля я на волне энтузиазма перевёл фанатскую мангу по «Stardew Valley», про которую я уже писал две недели назад.

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

Короче, часть смысла по ходу дела, подозреваю, потерялась, хотя я постарался передать что мог и даже списался с автором, разбирая совсем уж непонятные участки. Было весело: я не знаю китайского, она — русского; общались на английском, а он у обоих далёк от идеала.

Думаю, некоторые фразы можно было сделать поживее, где-то ровнее поправить исходную картинку, но — нафиг. Лучшее — враг хорошего, а результат мне уже нравится. Конечно, в сухом остатке здесь нет чего-то особенно крутого — рисовка как рисовка, сюжет по большей части повторяет игру, но… Не знаю. Наверное, визуальные новеллы сделали из меня чересчур сентиментального сукиного сына :-)

Спасибо Кэт за помощь с отрисовкой, Лему — за подсказки по переводу и Марике — за мысль. Ну и, конечно, Квантусу — за мангу.

14 августа 2017 английский видеоигры

Stardew Valley

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

Хотя нет, про саундтрек всё-таки скажу. Зимой в игре иногда играет «Ancient», и это одна из самых простых и одновременно атмосферных мелодий, которые я вообще слышал в видеоиграх.

1 августа 2017 видеоигры

Layers of Fear

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

С другой — фантастическая коридорность, почти полное отсутствие челленджа и логики происходящего. Дело в том, что повествование идет от лица сумасшедшего и внутри его сознания, и это накладывает определённый отпечаток на геймплей — невозможно угадать, что нужно сделать в очередной комнате.

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

Я в целом не жалею, что прошёл — это тяжелая и грустная история, тщательно нарисованная и хорошо озвученная. Но, сдается мне, в море местного символизма утонуло немало смысла.

6 июля 2017 видеоигры

Outlast 2

Не сказать, чтобы прямо провал, но — очень-очень слабо, особенно в сравнении с первой частью или её DLC. Ярких, пугающих, вообще вызывающих эмоции моментов — невероятно мало. Те же, что есть, быстро смываются волной раздражения от очередной смерти.

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

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

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

29 апреля 2017 видеоигры

Firewatch

Обычная, человеческая такая история, и ей совершенно по-человечески чего-то не хватает. Какой-то искры, что ли? Идеи? Смысла? Чем ближе к развязке, тем сильнее становится ощущение, что в кастрюлю забыли налить супа.

Не, я не хочу сказать, что играть не стоит. Тут очень живые и здорово прописанные диалоги, которые делают три четверти атмосферы. Кроме того, игра неплохо выглядит (хотя я не очень понял, откуда в отзывах столько восторгов — в каком-нибудь «The Vanishing of Ethan Carter» виды встречались покруче) и в целом проходится на ура.

Но концовка сюжета откровенно скомкана, а кульминация просто отсутствует. Да, я в курсе насчёт заложенной философии — мол, это жизнь, бла-бла-бла, многоточий больше чем точек, бла-бла-бла. Но, камон! Если история ставит кучу вопросов и не отвечает ни на один из них — это не очень-то и круто, как ни ссылайся на age-check.

22 апреля 2017 видеоигры

Совершенно несчастный

Наткнулся на «How to be Perfectly Unhappy» — комикс Мэтью Инмана о счастье, несчастье и том, что вообще стоит за этими словами.

У мужика отличное чувство юмора — собственно, он и известен как автор юмористических комиксов «The Oatmeal». Когда такие люди говорят о серьёзном, часто получается вот так: забавно, мудро и как-то откровенно, что ли.

24 марта 2017 тем временем

Ранее Ctrl + ↓