Категория: Компьютеры

Заметки о программировании и на околокомпьютерные темы

Вложенные категории: Игры, Delphi

Dai Gyakuten Saiban

Прошёл имперского Феникса Райта (точнее, видимо, Феликса, поскольку это далёкий предок Рюичи – Наруходо Рюноске). Вот некоторые заметки о ней:

(разные весёлые заметки)

Игра начинается с убийства доктора Ватсона! На самом деле это не тот Ватсон на самом деле тот, а просто какой-то Ватсон. Совпадение.

Настоящие Холмс и Ватсон в игре тоже есть, Холмс такой забавный молодой детектив, с ним связан особый режим “Дедукция Шерлока Холмса“, в котором Холмс сначала в захватывающем киношном стиле разоблачает героев и бросает нам в глаза shocking truth, а потом вмешивается Наруходо и исправляет: не правительство, а свою жену, и не свергнуть, а похвалить, и не динамит, а цветы… “Да-да-да, вот и я говорю!” А Ватсон это маленькая девочка.

При первом знакомстве Холмс входит в комнату с Наруходо Рюноске:
– Так… Молчите! Не надо ничего говорить, сейчас я сам всё скажу…. Я вижу, Вы служили в Афганистане!

В суде теперь кроме судьи сидят 6 присяжных, которые вылезают в самый неподходящий момент голосовать, что подсудимый виновен. Наруходо нужно с ними разговаривать, причём улики показывать нельзя, можно только “сталкивать” их возражения друг с другом.

Был мини-crowning moment of awesomeness, когда прокурор наехал на Наруходо за то, что он затянул дело и сломал стройную обвинявшую его версию:
– Из-за вас отношения двух стран [убитый – англичанин] уже не получится сохранить тёплыми!
Друг Наруходо, сбоку:
– Что это за отношения, которые ставит под угрозу любая задержка?!
Прокурор:
– Вы глупые юнцы, вы не понимаете, в каком положении находится страна. Это наши самые сильные союзники, наши учителя, это – наше будущее.
Наруходо:
– Я глупый юнец, но даже я понимаю, что у страны, в которой нет честного суда, никакого будущего нет.

В одном из дел преступление происходит в карете. Её можно осмотреть, на задней стенке висит табличка компании: “PHOENIX WRIGHT OMNIMBUS”. Привет английским фанатам!

Второе убийство случилось на русском кругосветном пароходе:

В четвёртом деле надо защищать Нацумэ Сосэки. Он дёрганый и в панике восклицает четырёхбуквенные максимы.

Оправдали магната, он вышел, беседует с Наруходо и Сусато (помощница):
Сусато: Поздравляю с оправданием!
Наруходо (про себя): Нда, стоит ли радоваться… Ведь мы так и не знаем, кто убийца.
Магнат: Вас это заботит? Меня заботит одно: что признано, я не при чём. А уж кто там дальше виновный – это пусть разбирается лондонская полиция. Они ребята умелые, они кого-нибудь найдут.

Про один диалог я даже комикс хотел сделать, только заскриншотить трудно.
Наруходо: Г-н судья, пока пристав уехал за документами, предлагаю [в первый раз] заслушать обвиняемую.
Судья: С какой целью?
……
Я хотел следующим кадром вставить судью с портретами Путина и Медведева и флагом России за спиной :)

В целом! Игра хорошая. Ещё кое-что в ней необычно: наверное, впервые на моей памяти в Райтовском суде самому адвокату непонятно, того ли человека он защищает. Невиновен ли подсудимый на самом деле. Это обыграно хорошо, и добавляет глубину в сюжет.

Как всегда, полно милых вторичных персонажей со своими историями и сценками, всё в духе старомодных квестов.

Скачивалка Викидот

На чистом прекрасном Питоне написал я штуку, которая позволяет скачать викидот как репозиторий Mercurial.

Никто не знал, что такая штука вообще нужна, а я её написал.

Вот.

Quantum Break

Через несколько дней выйдет Quantum Break, игра для Xbox от Remedy, авторов Макса Пэйна. По-моему, как-то скучно выглядит, никому не кажется? Первая их игра, которая заранее не впечатляет. Что сюжет избитый — ну учёные, ну время сломали, — что герой непримечательная кирпичная морда. Что в ней захватывающего?

Выглядит как “книга в нагрузку”, которые иногда заказывают у малоизвестных авторов для игровых франшиз. “Вот у нас есть такие расы и юниты, давайте напишите что-нибудь, чтобы там были Кэрриган, протоссы и зерги. Я не знаю, вы автор, сами придумывайте.” Вот у нас есть такой актёр для вас купленый, нужно что-то про время и перестрелки, давайте придумывайте, вы разработчики или кто?

Конечно, сценарист по прежнему Сэм Лэйк, у него хороший вкус… Может быть, он знает, что делает. Но пока дифирамбы в твиттере редкие и непонятные. “Это будет лучшая игра на XboxOne”. Да почему? Графика обычная, стиля не видно…

“Логические цепочки” в имперском Фениксе Райте!

Холмсовские “логические цепочки” в Дай-гякутэн сайбан это потрясающе! Так же здорово, как суды, когда они появились впервые. Почему Феникс Райт всем нравится — разумеется не за детектив, там на 30 страниц текста один вопрос с очевидным ответом, а за кинематографичность, за возможность почувствовать себя сыщиком в момент успеха. Крикнуть “Минутку!”, швырнуть в лицо доказательства…

“Логические цепочки” это то же самое. Ты превращаешься в гения, мысль которого летит от вывода к выводу. В книгах о Холмсе разрешалось лишь чуть-чуть прикоснуться к успехам сыщика, здесь встаёшь на его место. Как красочно они сделаны — щелчок пальцев, взмах руки, подсветка на персонаже, крупный план — как в кино! Успех, успех.

Да и Холмс смешной персонаж, хороший.

999

Прошёл 999 (9 дверей, 9 часов, 9 пленников), который вроде как от Котаро Утикоси, одного из сценаристов KID. Наркомания и бред, Эвер 17 версия для младшеклассников, профессор Лейтон и таинственный корабль. Игровой процесс это решение детсадовских паззлов: сложить пятнашки, воспроизвести морзе по бумажке, собрать шесть обрывков чего-нибудь, перемежаемое сюжетной болтовнёй. По сюжету герои заперты на огромном корабле (почти Титанике), и должны оттуда выбраться. Им преграждают путь детские логические задачки. Финальная битва была судоку! В конце, следите за руками, (окончательные спойлеры по Эвер17, да, Эвер17) выясняется, что этот эксперимент уже был 9 лет назад, и там погибла какая-то девочка, и короче, его повторяют затем, чтобы через какое-то морфологическое поле связаться с этой клушей 9 лет назад и объяснить ей, как решать судоку (!!!!), чтобы она там не сгорела *стена лицо*.

Злодеи все такие злодеи, что уже на 9-й минуте все их планы понятны, и большую часть игры сидишь и ёрзаешь “да, сейчас он вас понятно как обманет, ну давай, герой, обрати внимание, это что мне, ещё одну ветку проходить, чтобы до тебя дошло, что ли?”

В общем, одну ветку этого добра пройти может ещё и не плохо, а вот 4 или сколько там надо для тру энда, это уже совершенно лишнее.

Цианогенмод

Внезапно ударился в перепрошивку мобильника и неплохо в этом освоился. Выяснилось, для моего Galaxy S2 есть Цианоген аж Android 5, и он нормально работает – быстрее, чем стоковый 4.4!

  • Никаких лишних приложений. Система весит 300 мегабайт против стоковых 600.
  • Для Цианогена есть кастомные ядра, которые оптимизированы не тратить батарею попусту + быстрые. Итог: в полтора раза (!) выше производительность мобильника.
  • В стандартной прошивке выключен Trim, со временем флешка работает всё медленней и медленней, в Цианогене он включен!

А началось с того, что в Galaxy S2 системный раздел 2 гб и 12 гб встроенный флеш. И на эти 2 гб не влезают приложения. Я уже намучался с LinkToSD, это неудобно и не всё можно перенести. И тут выясняется, что эти 2 раздела это разделы на одной флешке.

ДА НА КОГО Ж ТЫ ТАКОЕ СДЕЛАЛ, САМСУНГ

Я решил их переразметить. И вот так слово за слово… Но я их переразметил, теперь у меня 6 гб программы и никаких LinkToSD, забыл как о страшном сне. Нужно будет – сделаю больше (данные у меня всё равно на внешней SD-карте).
Какой же комфорт я себе навёл этими действиями! Ах. Трудно поверить, что я жил в этом кошмаре 3 года.

Вкратце итоги для новичков:
– Можно переразметить разделы. Даже не очень сложно! Можно даже и на лету (я потом нашёл утилиту), но лучше с полной перепрошивкой.
– Можно сохранить все данные с прошлой системы. И все установленные программы! См. Online nandroid.
– Если у вас зашифрован мобильник, бэкапьте на расшифрованную флешку. Расшифрованную!

Вот. Потом обнаружилось, что в штатном драйвере exfat баги, и он падает на АнкиДроид, а куда я без АнкиДроид. Так что я собрал Цианогенмод сам (виртуальная машина + 150 Гб места + 6гб оперативки + 4 часа компиляции + несколько дней возни) и в общем довольно легко нашёл эту багу, её уже пофиксили, но фикс застрял в code review. Теперь у меня на мобильнике собранный своими руками драйвер ФС, и он не падает.

Life is slow

Художественные герои часто страдают книжной медлительностью. Вот героиня обнаружила, что может отматывать время. А потом и отмотала время на 5 лет и спасла отца подруги, в результате чего спойлеры спойлерыбабочки бабочки подруга оказалась в инвалидном кресле. Поставьте себя на её место, что вы сделаете первым делом, увидев такие дела?
– Назови мне дату, когда это случилось, и расскажи подробности, правильно же?
Но у героини целая глава впереди, поэтому она ходит по дому, ужасается, всем сочувствует и привыкает жить в этой совершенно ненужной временной ветке.

Google Pay

А что, в гугл-плей действительно нельзя публиковать даже бесплатное ПО, если не заплатить 25 баксов? Я тут написал штуку для московских велопарковок

Обычное приложение грузится полчаса, потом надо тыкать “Без регистрации”, потом у него данные на карте вчерашние, потому, что оно обновить не смогло, и непонятно, как я должен был об этом узнать.

А тут выбираешь несколько любимых парковок, запускаешь программу и сразу видишь, что сервер про них сказал.

Как её выложить-то теперь?

И ещё может кто знает, почему APK получаются такие огромные? Классов с гулькин нос, а скомпилированный код (.dex) 6 мегабайт.

О борьбе за остановку и неостановку служб

Службы в Windows задумывались как возможности системы, которые можно выбирать и запускать по желанию. Хочешь расшаривать файлы – запусти службу “Сервер”, хочешь печатать документы – запусти “Диспетчер печати”.

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

1. Некоторые службы стало нельзя останавливать. Без них система принудительно перезапускается через минуту, а вскоре запретили и команду остановки. С каждым годом таких сервисов всё больше (в Windows 10 уже штук 8).

2. Некоторые можно останавливать, но нельзя изменить тип запуска – они запускаются автоматически. Таких ещё 3-4 штуки.

3. Многие службы можно останавливать и можно перевести в режим “вручную”, но их всё равно принудительно запускает Windows Explorer. Какой тогда смысл в настройке “вручную”?

4. Начиная с Windows 7 появился ещё один вид издевательства: службы, которые восстанавливают свой режим работы. Их можно установить во “вручную”, но через 20 минут они всё равно выставят себя в “автоматически” (например, служба BITS). Какого чёрта, а?

(ещё)

Список служб как будто специально составлен так, чтобы в нём никто не мог разобраться:

1. Нигде не сказано, что именно делает каждая служба, и для чего требуется.

2. В Windows XP было модно давать службам “описания” вроде “Служба оркестратора управления командами. Требуется для клиентов, использующих оркестрацию управления командами. Если отключить эту службу, все компоненты, зависящие от неё, не смогут запуститься”. В Windows 10 описания службам просто не дают.

3. Множатся службы, с виду делающие одно и то же. Например, netman, netprofm, NlaSvc, NcaSvc, nsi, WcmSvc все как будто занимаются поддержанием списка сетей на компьютере. У пяти нянек дитя без глазу: попробуйте угадать, какая из них нужна, чтобы иконка сетевых подключений в Windows 10 работала правильно? (Ответ: WcmSvc. А в Windows 7 и ранее что-то другое).

Наконец, правая рука у Microsoft не знает и не любит то, что делает левая. Кроме служб различное ПО запускает в фоновом режиме бесконечные COM-объекты, обработчики WMI и вспомогательные процессы (Explorer особенно грешит этим). Убить их окончательно тоже нельзя, как и отключить ненужный функционал. Кортана в русских версиях не работает, а если б и работала, мне не нужна – но обслуживающий её процесс будет запущен, сколько не убивай.

И Microsoft ещё говорит, что идёт какая-то борьба за производительность, скорость загрузки и экономию батарей!

Освойте системы контроля версий

Если у вас есть пара дней на то, чтобы освоить один какой-нибудь продвинутый инструмент из мира технарей, освойте системы контроля версий (Mercurial или Git – под Windows я точно советую Mercurial). О программистах я даже не говорю, но если вы пишете книги, переводите (тем более вместе с другими), храните какие-то заметки, короче говоря, работаете с текстом, регулярно обновляя его, вы ещё этого не знаете, но вы без Mercurial как без рук.

Что скрывается за страшными словами “система контроля версий”?

Вы ставите на компьютер специальную программу, TortoiseHg.

Щёлкаете правой клавишей по папке – “Создать репозиторий”.

Дальше вы кладёте в эту папку какие-то текстовые файлы – например, исходники программы или книгу, которую пишете. И каждый раз, когда вы что-то в них исправили, щёлкаете по папке правой клавишей и говорите “Commit”. И пишете пояснение: “Переписал драку героя с инопланетянами”.

Через некоторое время вам кажется, что прежняя драка с инопланетянами была лучше. Вы щёлкаете по папке правой клавишей и говорите: “История изменений”. Программа показывает вам, каким был ваш текст вчера, позавчера, в самом начале, и как он менялся. Как у страницы в Википедии. К любой версии можно вернуться.

(Но это не всё.)

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

С Mercurial всё проще. Во-первых, он показывает вам, что поменялось в каждом варианте. Во-вторых, он сам умеет их объединять. Вы щёлкаете правой клавишей по папке, говорите “Отправить на сервер”. Редактор у себя дома щёлкает по своей папке, говорит “Получить с сервера”. И видит, что от последней версии на сервере растут два хвоста: ваш и его. Он щёлкает по вашему, выбирает “совместить” и Mercurial сам совмещает правки. На случай, если он сам не сможет, он предложит вам – подсветив каждое разногласие и дав выбрать.

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

  • Камень “а вдруг я изменю, а получится хуже”. Если получится хуже, вернётесь к старой версии.
  • Камень “а вдруг я не все чужие исправления заметил”. Mercurial показывает все исправления.
  • Камень “сейчас я поправлю, а он там какую-нибудь старую версию редактирует и всё затрётся”. Mercurial следит, объединяет, и главное – никогда не даст затереть. Однажды внесённая в него версия остаётся в нём навсегда.

Мало того!

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

В одной ветке может храниться TV-версия сериала, в другой – получившаяся из неё BD-версия. Пока BD-версию допиливают, в ТВ-версии исправляют опечатки, наконец, BD-версию пора выпускать, и тут вы берёте все наборы исправлений, которые наслоили на TV-версию со времени её отпочкования, и переносите их на ветку BD.

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

Чтобы освоить системы контроля версий нужно некоторое время, но это такой могущественный молоток, что когда вы им овладеете, гвозди будут торчать из каждого косяка, вы будете ходить по всему дому и заколачивать, и заколачивать. А благодаря TortoiseHg / TortoiseGit, работа с ними уже стала достаточно простой даже для обычного пользователя.

Скажу, что Git по функциям не сильно отличается от Mercurial, но я советую последний, поскольку у него удобнее интерфейс под Windows. Если вы работаете из консоли, то совершенно неважно – выбирайте любой (Git сейчас популярнее).