Заметки
Позднее Ctrl + ↑
Принцип не-осуждения
Хорошая заметка Максима Ильяхова про анализ чего-то такого, что вроде бы вас не касается, но почему-то невероятно раздражает. Напомнило американский принцип не-осуждения, про который я читал пару лет назад; тут немного другие формулировки, но суть — точно та же.
У нас этот подход, в общем, тоже есть — даже в фольклоре осел со знаменитым «не суди и не судим будешь». Жаль, что пока не так широко применяется.
2 сентября 2018 тем временем
СКД и право просмотра
Универсальный подход системы компоновки данных «если у пользователя нет права на просмотр чего-то, то этого как бы нет» иногда заставляет платформу выкидывать знатные фортели. Нет, сферический отчет в вакууме и правда работает хорошо — например, если нет права на просмотр какого-то справочника, то в отчете он фигурировать не будет. Однако реальные примеры бывают посложнее.
Например, пару недель назад я отлаживал отчет, который при попытке генерации выдавал понятную на первый взгляд ошибку:

Отчет гигантский — запрос на добрую тысячу строк, сложная настройка, здоровенный макет, запутанный код компоновки. Первое подозрение пало на ошибку в настройке, но расследование быстро дошло от ссылки на валюту в выборке данных до чтения константы с этой валютой на самом нижнем уровне отчета, на которую не было права просмотра.
Не скажу сходу, что именно тут сбило платформу с толку и привело к не очевидной диагностике — то ли манипуляции с временной таблицей, куда эта константа была прочитана, то ли то, что читалась она в конструкции ВЫБОР, то ли то, что на сам справочник валют все необходимые права были. Искать конкретное условие или их сочетания я не стал — думаю, это просто специфика реализации движка СКД, которая может меняться от версии к версии. Достаточно не забывать о праве просмотра, и проблемы не будет.
Что касается ошибки, при столкновении с ней стоит вывести проблемный отчет под полными правами. Если тут всё о'кей, нужно набросать список таблиц, откуда отчет читает данные, и проверить — все ли они с правами на чтение и просмотр.
Нудно, но может сэкономить прилично времени.
Беги от дочери морей
Наталья О'Шей озвучила русский ролик для грядущего обновления World of Warcraft. У неё круто получаются такие образы — умеет и настроение создать, и стали в голос припустить.
Вообще, если говорить о ней и «Мельнице» в целом — самые сильные песни у них именно те, где речь о чем-то конкретном. Были весной на концерте в честь выхода «Люциферазы» — прямо небо и земля; то ли мне не хватало знания контекста, то ли многие тексты и правда были здорово абстрактными, не знаю. Но в итоге местами было трудно понять, о чем песня, и настроение порядком сбивалось.
А тут даже знать особо ничего не нужно. Я в WoW не играл и не буду, но от финальных интонаций морозом по коже все равно отдает :-)
29 июля 2018 видеоигры
Печать ГПиМРМ
Возможно, вы уже слышали про то, что русский перевод «Методов рационального мышления» Элиезера Юдковского пошел в некоммерческую печать (спасибо «Эволюции» и другим инфопартнерам), но на всякий случай напомню ещё раз.
Книжка и правда хороша, я про неё уже писал пару лет назад. Учит правильным штукам и в такой форме, что не оторваться. Текст есть в свободном доступе, но если вы вдруг хотите бумажную копию — прием заявок еще идет.
22 июля 2018 книги
Результаты FCE
Кембридж прислал результаты июньских экзаменов. И — вступают трубы — FCE я сдал! Судя по баллам, ухитрился в чём-то налажать во время письменной части, зато неплохо отыгрался во время разговорной. Жаль, что экзаменаторы не дают более подробных комментариев; впрочем, и так понятно, куда дальше воевать :) Преподаватель заметила, что раньше вообще сообщали только итоговый балл — мол, понимайте как хотите, уважаемые претенденты.
В общем, в следующем году перевешу планку повыше — видимо, нужно готовиться к CAE.
По этому поводу вспомнился Фейнман со своей знаменитой «Вы, конечно, шутите». Среди прочего он рассказывал, как во время жизни в Бразилии учился играть на фригидейре и доучился до того, что его стали ставить в пример местным музыкантам:
Я думаю, это напоминает ситуацию, когда человек, который говорит по-французски, приезжает в Америку. Сначала он делает все ошибки, которые можно сделать, и понимать его очень сложно. Но он непрерывно занимается, до тех пор пока не начинает говорить довольно хорошо, и манера речи этого человека начинает доставлять вам истинное удовольствие: у него очень милый акцент, и его приятно слушать.
― Ричард Фейнман
Между «все ошибки» и «приятно слушать» непринужденно опущено целое море труда, но в целом этот синопсис мне нравится. Работаем куда-то туда!
15 июля 2018 книги готово английский
Kona
У игры есть сильные стороны, которые честно старались удержать мое внимание: тут есть где погулять, что почитать, о чем подумать и на что посмотреть. Если вы цените это в играх — возможно, вам понравится. От прогулок и размышлений почти ничего не отвлекает — умереть от чего бы то ни было тут довольно сложно. Ровно как и заблудиться — у главного героя есть карта и автомобиль, а позже можно раздобыть ещё и снегоход.
Но сюжет меня здорово расстроил. Интригующая детективная завязка, не успев обрасти деталями, тает в воздухе и уступает место откровенной мистике. Всё бы ничего, но вместе с этим исчезает всякая интрига — зачем искать улики, строить догадки, вообще о чём-то волноваться? Необъяснимые видения из ниоткуда расскажут и покажут всё, что и как тут было, и вот ты уже невольно заражаешься меланхоличным отношением героя к паранормальщине вокруг.
При этом мистическая сторона сюжета сама по себе зияет здоровенными дырами. Да, картина трагедии ближе к концу становится более или менее понятна — но даже последнее, самое полное видение само по себе рождает целую кучу вопросов, на которые никто не трудится отвечать. Сюжет в этой игре вообще здорово напоминает её же карту — выглядит цельным, но по факту доступна от силы половина, а остальное скомкано под отчетливо читаемое «ну, потому что магия, магия такая, понимаете?».
Нет, блин, не понимаю.
29 мая 2018 видеоигры
Сообщение пользователю
В 1С:Предприятии есть удобный метод вывода сообщений — объект СообщениеПользователю. Он выводит их в нижней части формы и это, внезапно, потенциальная проблема: дело в том, что большинство пользователей туда не смотрит. Мол, если никаких явных ошибок на экране нет — беспокоиться не о чем.
Поэтому в случае, когда происходит сбой или просто нужно донести какую-то критично важную информацию, сообщение нужно выводить в диалоговом окне — например, через методы ПоказатьВопрос() или ПоказатьПредупреждение(). В противном случае пользователь может не обратить внимания на проблему и продолжить работу — несмотря на то, что какое-то действие не было выполнено или было выполнено не так. Впоследствии это станет явным и в проблеме (справедливо) обвинят вас.
До кучи можно вспомнить небольшие служебные формы: в них СообщениеПользователю вообще противопоказано. Да, на маленьком полотне сложнее не заметить всплывший внизу текст, однако тут дело в другом — одно-два сообщения буквально пожирают рабочее пространство формы и работать с ней становится неудобно.
30 апреля 2018 1С
Эти мерзкие смартфоны

Художник — Адам Эллис.
По-моему, это отличная иллюстрация к вечному стону «чего они все таращатся в телефоны, бла-бла-бла». Причина проста, как три копейки — у людей в телефоне их друзья и подружки, книжки и подкасты, игры и ютуб. Всё это куда интереснее, чем, скажем, хмурый дядька или мрачная тётка с синдромом гуру.
То же касается и детей. Соцсети набиты спорами по этому поводу, как бочка селедкой, однако причина проблемы остаётся точно такой же: если подросток при виде вас утыкается в телефон, ему с вами попросту не интересно и проблема, очевидно, в вас самих.
31 марта 2018 тем временем
Двойная «i»
Разбирался недавно с транслитерацией собственной фамилии. Согласно правилам МИД'а, на английском она пишется как «Kostianetskii» — с двойной «i» в конце. Такое сочетание букв встречается довольно редко — «skiing» единственное частотное слово, которое приходит в голову.
Мне стало любопытно, почему так, и я загуглил. Точного ответа не нашёл, но одна из возможных причин забавная: пропись! Две «i» рядом только на экране смотрятся хорошо, а когда пытаешься написать их от руки — внезапно получается «u».
Подробнее и нагляднее про это — здесь.
9 марта 2018 английский
Разные стороны медали

Фидбек — одна из самых клевых штук в моей профессии. Да, не первый год программирую, да, кучу всего написал, переписал и переделал, и всё равно каждый сложный механизм, наконец заработавший так, как надо — это… Ну, не знаю. Как снова и снова слышать «да» на выпускном бале :-)
Это несколько компенсирует обратную сторону медали — когда ты, например, в стопятый раз пытаешься разобраться в стопяти уровнях абстракции чьего-то приложения, ошибаешься снова и снова, за окном два часа ночи и вместо крови по венам давно бежит кофе.
5 марта 2018 работа
Ваши документы
Крутая экранизация «Papers, Please», даром что на десять минут. Савочкин здорово сыграл, да и остальные не подкачали, включая сценариста. Запихнуть в такой хронометраж драму и сюжетный твист — это надо уметь.
Если вспомнить, что экранизации видеоигр обычно звёзд с небес не хватают — эту можно считать блестящим экземпляром.
Чего так серьезно?
Иногда при отладке какого-нибудь сложного механизма не хватает времени на адекватные имена переменных и методов. Как итог — в коде появляются загадочные КакогоФига, ПрименитьМагию и прочие ЖивыеНеудачи.
Этого нужно избегать, правда. На первый взгляд, конечно, смотрится забавно, но через месяц-другой написанный код нужно будет доработать — и тут-то проблема встанет в полный рост! Материться сквозь зубы на автора не выйдет лишь потому, что автор — ты сам.
17 февраля 2018 1С код с запашком
White Day
Может, этот хоррор и нишевый, но и правда неплохой. Атмосфера ночной школы, набитой мрачными секретами, удалась на славу — напряжение отпускает редко, а игра то и дело подкидывает сюрпризы там, откуда не ждешь. Я в этом жанре стреляный воробей, а все равно вздрогнуть не раз пришлось.
Местный сюжет меняется в зависимости от действий игрока, и если хочется добраться до конца истории — одним прохождением никак не обойтись. Но, на мой взгляд, оно того стоит. Например, из-за антагониста — это сравнительно редкий случай, когда он вышел в разы интереснее, привлекательнее и трагичнее, чем протагонисты и все остальные герои вместе взятые.
17 января 2018 видеоигры
Выгрузка автобусных рейсов
С тех пор, как мы с коллегами заново автоматизировали КПАТ, она работает на «Управлении автовокзалами». Это конфигурация для 1С:Предприятия, то есть её можно сравнительно быстро интегрировать почти с чем угодно.
Первым делом мы решили наладить выгрузку маршрутного расписания автобусов на E-Traffic и Яндекс.Расписания.
Что это за ресурсы?
Первый ресурс, E-Traffic — это крупнейший в России агрегатор данных автовокзалов. Собирает информацию о запланированных рейсах и выступает как агент по продаже электронных билетов. То есть пассажирам не нужно продираться через сайты автовокзалов — на E-Traffic можно купить билет откуда угодно куда угодно.
Что касается Яндекс.Расписаний — это один из дочерних проектов российского поисковика. Как и E-Traffic, предназначен в первую очередь для пассажиров и умеет быстро строить относительно сложные маршруты с пересадками. Билетами они, правда, не торгуют.
Как была сделана выгрузка?
Поначалу мы нагородили довольно сложную архитектуру, позволяющую транслировать расписание в обе системы. Потели как черти — пока в ходе переговоров не выяснилось, что у E-Traffic уже есть рабочий транспорт для передачи расписания в Яндекс, и задача естественным образом не усохла вдвое.
Технически всё было сделано в виде веб-сервиса для «Управления автовокзалами». Получив SOAP-запрос от E-Traffic, он собирал внутри информационной базы 1С:Предприятия все необходимые данные о запланированных автобусных рейсах и возвращал их в виде XML-ки.
Нам даже не пришлось писать код получения расписания с каждого вокзала, входящего в сеть КПАТ'а: все они создаются и хранятся в одном месте — главном узле РИБ, а веб-сервис мы развернули именно там. В итоге больше времени ушло на разные согласования, чем на программирование.
А где посмотреть?
Внутренняя кухня снаружи не видна, да и там ничего необычного — роботы общаются с роботами, эка невидаль :-) Результат их болтовни — куда интереснее! Например, вот расписание рейсов из Кемерово в Новокузнецк на сегодня.
Себби 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 + ↓