
суббота, 26 декабря 2015
We rise up for the things we believe in over and over again
Попалось тут на дороге... Уже второй час на автоповторе 

We rise up for the things we believe in over and over again
Включенные наушники позволяют создать вокруг себя эдакий кокон. В него попадает только то, чему сам позволишь пробраться. Люди, события, явления - все, что нужно, ты фиксируешь, а что не нужно - просто пролетает мимо, не отвлекая ни в малейшей степени. Пока шел от метро к пункту назначения по пути на работу, неожиданно этот кокон разлетелся в пыль, внимание переключилось на "внешнюю сторону".
Оказалось, что улицы города уже готовы ко встрече Нового Года, люди на улице уже вовсю обсуждают, что будут делать в праздничные дни (ну или чего не будут делать). Смотрю на них и удивляюсь. Умом понимаю, что до праздника осталось-то всего ничего, каких-то пяток дней и все. Новогоднего настроения нет вообще ни на йоту. Впрочем, его уже много лет не бывает, по крайней мере вот так, загодя. То ли дело далекое зеленое нубство, когда уже за пару недель носился в предвкушении праздника.
Взрослеем, стареем, черствеем...
К черту все. Хоть я и на работе, и глобально настроение тоже рабочее, несмотря на неумолимо приближающуюся новогоднюю феерию, вот эти два кренделя родом из 80-х все так же меня радуют, как и много-много лет назад
Оказалось, что улицы города уже готовы ко встрече Нового Года, люди на улице уже вовсю обсуждают, что будут делать в праздничные дни (ну или чего не будут делать). Смотрю на них и удивляюсь. Умом понимаю, что до праздника осталось-то всего ничего, каких-то пяток дней и все. Новогоднего настроения нет вообще ни на йоту. Впрочем, его уже много лет не бывает, по крайней мере вот так, загодя. То ли дело далекое зеленое нубство, когда уже за пару недель носился в предвкушении праздника.
Взрослеем, стареем, черствеем...
К черту все. Хоть я и на работе, и глобально настроение тоже рабочее, несмотря на неумолимо приближающуюся новогоднюю феерию, вот эти два кренделя родом из 80-х все так же меня радуют, как и много-много лет назад

вторник, 22 декабря 2015
We rise up for the things we believe in over and over again
Черт, отпуск кончился. Рабочие будни начались с ночной смены. После них три часа сна и круговерть по городу. И в таком малость офигевшем состоянии тело, повинуясь какому-то до жути странному настроению, на полном автомате врубает AIMP и загружает в него Telenn Gwad, к которому не прикасался уж хрен знает сколько лет.
В моей музыкальной коллекции мало найдется композиций, опаснее этих. Очень мало.
А мораль? Спать надо больше, не будут всякие мысли в голову лезть.
В моей музыкальной коллекции мало найдется композиций, опаснее этих. Очень мало.
А мораль? Спать надо больше, не будут всякие мысли в голову лезть.
We rise up for the things we believe in over and over again
Что ж, плюнул на свою гордость геймера, поставил Easy Mode и продолжаю грызть эту игру. Грызется легче, кое-где даже разительно. Хотя все равно учиться местному вымученному парированию оказалось куда сложнее, чем в MGR. Ладно, научимся.
А вот этот момент меня просто порвал пополам. Знающие - поймут

А вот этот момент меня просто порвал пополам. Знающие - поймут


понедельник, 21 декабря 2015
We rise up for the things we believe in over and over again
А тем временем база принтеров успешно пересажена на "большой SQL" (пусть и в редакции SQL Express), и к ней все же написана морда на MS Access. Будет коллегам счастье и задание уже эту версию гонять в хвост и гриву.
Поймал себя на мысли, что это было даже интересно.
Поймал себя на мысли, что это было даже интересно.
воскресенье, 20 декабря 2015
We rise up for the things we believe in over and over again
Сходили, отсмотрели. Дальше жирнющие спойлеры, поэтому несмотревшим заглядывать под MORE категорически НЕЛЬЗЯ.
Впечатления от просмотренного
Впечатления от просмотренного
среда, 16 декабря 2015
We rise up for the things we believe in over and over again
Давненько не приходилось в VBA сидеть, ох, давненько. Сколько там уже лет прошло, после памятного димплома? Но, как бы то ни было, а небольшая база данных в MS Access наконец-то приобрела свои почти финальные очертания и отправилась на тестирование. Понятное дело, что багов там всплывет немеряно, но для того тест и нужен - вылавливать их и исправлять.
Знаю, Access по нынешним временам не тру, потому на очереди новый уровень - перевод этой базы на полный SQL. Чтоб все по-взрослому было. Ну а что, у нас есть аж целый кластер того самого сиквела, дак чего бы его кусочек не использовать под свои рабочие нужды?
И кто бы знал, Шан, как я тебе завидовал, пока ваял этот несчастный код. Потому что у меня возможности воскликнуть "Ну почему оно работает?!" не было
Знаю, Access по нынешним временам не тру, потому на очереди новый уровень - перевод этой базы на полный SQL. Чтоб все по-взрослому было. Ну а что, у нас есть аж целый кластер того самого сиквела, дак чего бы его кусочек не использовать под свои рабочие нужды?
И кто бы знал, Шан, как я тебе завидовал, пока ваял этот несчастный код. Потому что у меня возможности воскликнуть "Ну почему оно работает?!" не было

вторник, 15 декабря 2015
We rise up for the things we believe in over and over again
Google, конечно, жжот напалмом. Календарь телефона связан с учеткой на этом сервисе. Приходит уведомление о новом событии. Понятия не имею, какого рода, всех, у кого день рождения, уже обзвонил, общенациональных праздников тоже не наблюдается. Открываю и офигеваю на месте:
Общенациональных праздников нет, что да, то да. Есть общемировой, по мнению гугла. А чтобы люди не позабыли об этом, а отчего бы не впихнуть самолично в их календари напоминание об этом?
Общенациональных праздников нет, что да, то да. Есть общемировой, по мнению гугла. А чтобы люди не позабыли об этом, а отчего бы не впихнуть самолично в их календари напоминание об этом?
We rise up for the things we believe in over and over again
суббота, 12 декабря 2015
We rise up for the things we believe in over and over again
Ждал я ее, ждал... А теперь сижу и думаю, а стоило ли ждать. Серия игр, которая всегда и везде предполагала неспешное и вдумчивое прохождение, вдруг ставит тебя в жесткие временные рамки (13 игровых дней, не больше, а время там реально летит). Прибавить к этому совершенно невнятную боевую систему (вида "атаки наносят больший ущерб со спины", вот только зайти в хвост мобу нелья - он всегда поворачивается к тебе лицом).
Открытие новых способностей Лайтнинг - вообще феерия, их надо вышибать из мобов! Айон и Линейка - это все ваше тлетворное влияние!
Возможно я банально еще не распробовал эту игру, пока дополз, именно дополз, только до первого босса, который, кстати, вломил мне от души. Да даже белое мобьё уже доставляет много проблем, если за один бой приходится с двумя драться. А некоторые и в одиночку способны отправить в пункт меню Load.
Чую, придется понизить градус злобности игры, а то и вообще заново начать, много времени потеряно (да, мы на часах, помним?).
Открытие новых способностей Лайтнинг - вообще феерия, их надо вышибать из мобов! Айон и Линейка - это все ваше тлетворное влияние!

Возможно я банально еще не распробовал эту игру, пока дополз, именно дополз, только до первого босса, который, кстати, вломил мне от души. Да даже белое мобьё уже доставляет много проблем, если за один бой приходится с двумя драться. А некоторые и в одиночку способны отправить в пункт меню Load.
Чую, придется понизить градус злобности игры, а то и вообще заново начать, много времени потеряно (да, мы на часах, помним?).
четверг, 10 декабря 2015
We rise up for the things we believe in over and over again
По большей части эта запись для себя самого, чтобы банально не забыть правило, которое вывел для себя. А звучит оно просто - всегда два поля, одно аггрегирующее, второе вычисляемое.
Это про вот такую конструкцию:
И как работает.
Есть таблица принтеров, где показано, какой принтер когда и куда был поставлен. В этой таблице можно отследить все перемещения данного конкретного принтера. И из этой же таблицы можно актуальный список установленных на данный момент принтеров. То есть для каждого принтера нужно получить самую свежую строку.
Разбор начинаем с собственно Inner Join. Из таблицы Log выбираем два поля, MAC-адрес (так как именно он является однозначным идентификатором каждого принтера) и дату установки. Группируем выборку по этому самому адресу. Если бы это делалось в Powershell, можно было бы указать примерно так:
... | select MAC,Date | group Date
А на выходе получили бы следующее:
В SQL такое не прокатит, но и не надо. Вот тут-то и пригодится вышеозначенное правило. Аггрегировали мы по полю MAC, а дату - вычислим. В качестве вычисления будет функция, возвращающая максимальное значение из всей полученной выборки.
Ну а после того, как получили рабочий Join, навешиваем на него остальные данные, которые нам выбирает первый Select. В качестве связи между двумя таблицами будет одновременное выполнение двух условий: MAC из первого Select должен быть равен MAC из Join, Дата из первого Select должна быть равна полю Time_Stamp из Join.
Все это в сумме дает по одной строке на каждый MAC, то есть, на каждый принтер. Что и требовалось.
Черт, давно же с базами данных (пусть даже это всего лишь MSахсекс Access) не приходилось работать. Но если все получится - наконец-то избавимся от бардака в информации о всех принтерах, какие только есть.
Это про вот такую конструкцию:
И как работает.
Есть таблица принтеров, где показано, какой принтер когда и куда был поставлен. В этой таблице можно отследить все перемещения данного конкретного принтера. И из этой же таблицы можно актуальный список установленных на данный момент принтеров. То есть для каждого принтера нужно получить самую свежую строку.
Разбор начинаем с собственно Inner Join. Из таблицы Log выбираем два поля, MAC-адрес (так как именно он является однозначным идентификатором каждого принтера) и дату установки. Группируем выборку по этому самому адресу. Если бы это делалось в Powershell, можно было бы указать примерно так:
... | select MAC,Date | group Date
А на выходе получили бы следующее:
В SQL такое не прокатит, но и не надо. Вот тут-то и пригодится вышеозначенное правило. Аггрегировали мы по полю MAC, а дату - вычислим. В качестве вычисления будет функция, возвращающая максимальное значение из всей полученной выборки.
Ну а после того, как получили рабочий Join, навешиваем на него остальные данные, которые нам выбирает первый Select. В качестве связи между двумя таблицами будет одновременное выполнение двух условий: MAC из первого Select должен быть равен MAC из Join, Дата из первого Select должна быть равна полю Time_Stamp из Join.
Все это в сумме дает по одной строке на каждый MAC, то есть, на каждый принтер. Что и требовалось.
Черт, давно же с базами данных (пусть даже это всего лишь MS
понедельник, 07 декабря 2015
We rise up for the things we believe in over and over again

На Black Desert Online сейчас многие надежды возлагают. Привык народ ко всякого рода MMO, но везде одно и то же. Нет, с точки зрения сути игры, BDO - ровно то же самое, но хотя бы non-target - глоток свежего воздуха.
С другой стороны - занимается этим проектом в нашей стране компания GameNet, и ее факап с платными аккаунтами уже прогремел на всю игровую общественность.
В общем, поглядел я на этот BDO, посмотрел на то слайд-шоу, которое он мне выдал на моей теперь уже старенькой Geforce 8600 GT, и снес всю игру вместе с клиентом GameNet. Было это где-то месяц назад. А вчера за каким-то чертом (а, вспомнил, хотел проверить, почему не работает коннект от телефона к веб-морде MPC HC) полез в файрволл и в правилах увидел следующее:
Thorn.exe inbound allow (C:\users\(AdminAccount)\appdata\local\thorn\thorn.exe)
Я очень нервно отношусь ко всякого рода бинарникам в папке профиля. Потому правило было уничтожено тут же. Открываем PS от имени той учетки (да, он у меня за файловый менеджер иногда работает), даем там:
cd c:\C:\users\%username%\appdata\local\thorn
dir
Какая-то пакость - в профиле лежит не то, что какой-то один бинарник, а целый их комплект. Не долго думая:
cd ..
rd thorn -force
И на выходе получаем Access Denied.
Значит, служба. ОК, открываем реестр, ищем там thorns.exe. Находим его в составе вот такой службы: Служба политики провайдера безопасности аккаунта (ишь, как обозвали-то, прям так и веет малварью от этого названия). Попытка ее остановить из консоли служб приводит все к тому же Access Denied. Ладно, тогда делаем проще, прямо в реестре меняем путь к файлу-бинарнику на несуществующий и перезагружаем систему. Служба тухнет. Дальнейший разговор с подобной мерзостью всегда один и тот же
cmd
sc delete thorn
А потом начинаем ковырять рунет. Рунет же подсказывает просто шикарнейшую вещь. Открываем GameNet EULA, раздел Лицензионное соглашение, и ищем там пункт 4.10. Тут я приведу его целиком:
-----
4.10. Пользователь осознает и соглашается, что при установке и эксплуатации программного обеспечения Проекта (в частности, Приложения GameNet) на электронно-вычислительную машину Пользователя в папку по адресу %LOCALAPPDATA%THORN может быть установлено программное обеспечение Администрации, предназначенное для борьбы с неправомерным использованием Проекта GameNet и обеспечения безопасности учетных записей Пользователей Проекта (далее – «Служба помощника провайдера безопасности аккаунта»). Служба помощника провайдера безопасности аккаунта ежедневно автоматически передает Администрации статистическую информацию о программном обеспечении, используемом Пользователем. Служба помощника провайдера безопасности аккаунта не собирает и не передает персональные данные Пользователя.
При удалении или деинсталляции Приложения GameNet Служба помощника провайдера безопасности аккаунта не удаляется и не деинсталлируется автоматически с электронно-вычислительной машины Пользователя. Пользователь вправе удалить Службу помощника провайдера безопасности аккаунта вручную. Для удаления Службы помощника провайдера безопасности аккаунта необходимо запустить системную утилиту Командная строка от имени администратора и выполнить команду cd %LOCALAPPDATA%\THORN && thorn.exe -c 20 && thorn.exe -u.
-----
У меня после прочтения такого опуса в голове только одна мысль. В приличном обществе за подобное поведение принято гладить лицо и жать горло. Причины очевидны. Нет, я согласен с тем, что EULA все же нужно читать, а не пролистывать, как это обычно делается. Но прямое заявление вида "мы вам насрем и уйдем, убирайтесь сами" заставляет озираться в поисках своей любимой лазерной винтовки из Fallout 1.
воскресенье, 06 декабря 2015
We rise up for the things we believe in over and over again


KnV-программирование, говорите? Их есть у нас. Точнее, не у нас, а в Редмонде. А еще точнее - в каком-нибудь из Соединенных Штатов Индии.
Есть два файловика-виртуалки. Есть у них диск D:, где все данные и лежат. Этот диск имеет свойство пухнуть, как и всякая файлопомойка. Размер VHD-файла с этим диском уперся в свой потолок в 2 Тб (старый vhd). А расширять надо. Ну что же, процедура следующая.
Внутри виртуалки-файлопомойки переводим этот диск в состояние Offline.
В консоли Hyper-V выносим нафиг файл vhd и на его месте создаем новый vhdx с требуемым объемом (vhdx поддерживает файлы больше 2 Тб).
Снова переходим в виртуалку. Находим там свежий диск, переводим его в состояние Online, инициализируем, форматируем, даем прежнюю букву, и говорим развернутой на этом сервере DFSR - а теперь, родная, реплицируй все данные с сервера-партнера. DFSR козырнула и пошла жрать файлы.
А тем временем начинает вопить DPM. Суть в следующем. Когда в DPM в группу защиты добавляем сервер и его какой-либо диск, диск этот идентифицируется не по букве, а по своему GUID (да, опять GUID, снова GUID). Когда файлопомойке дали новый диск, естественно сменился GUID этого диска. И теперь встает вопрос - что делать с группой защиты, как в нее добавить новый диск.
Можно вынести оттуда старый и добавить новый. При попытке провернуть такой фокус DPM вопит, что бекапы, связанные со старым диском, станут невалидными (то есть придется снимать заново полный бекап в те 2 терабайта, а это время).
Можно попытаться связать запись в группе защиты об этом диске с новым GUID диска. Вот это нам и нужно.
Для такого переноса существует специальный скрипт, написанный где-то в недрах MS, который называется Migrate-Datasource.ps1. Вот статья, объясняющая, что это и как оно работает.
ОК, все данные для этого скрипта есть, даем его выполнение в автоматическом режиме. Оно находит старую запись, находит новый диск, пытается их связать... и дает следущее:
Exception calling "MigrateDataSource" with "2" argument(s): "The remote
procedure call failed. (Exception from HRESULT: 0x800706BE)"
At C:\Program Files\Microsoft System Center 2012
R2\DPM\DPM\bin\Migrate-DataSource.ps1:220 char:10
+ $dpmServer.MigrateDataSource($newDataSourceId, $oldDataSourceId)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (

+ FullyQualifiedErrorId : COMException
Error in Migration
Хм, все веселее и веселее. Ладно, а что ты мне покажешь в ручном режиме? А в ручном режиме оно мне предложило выбрать запись о диске, которую надо исправить, вывело список всех дисков (их GUIDов), которые можно к нашей многострадальной записи подцепить. Этих дисков оказалась ровно 1 штука. И я не знаю, что меня дернуло просмотреть, а кому этот GUID принадлежит, но увиденное заставило отменить скрипт от греха подальше. Дело в том, что предложенный GUID принадлежал MSR-разделу файлопомойки.
Даа, делаа... Поскольку дело было уже поздним вечером, решили эту проблему отложить до утра, чтобы окинуть ее потом свежим взглядом. Вернулись к ней только спустя дня эдак 4. И что бы мы ни делали с этим скриптом, результатом всегда было только одно - предложение связать запись в группе защиты с MSR-партицией. Черт с ним, все равно приближается время полного бекапа, так что уже были готовы убить старую запись и добавить новую. Да не тут-то было:
- Народ, а вы гляньте на последнюю точку восстановления!
- Вчера сделалась? Но ведь бекап не работал?
- Андрюха, походу после этого твоего скрипта бекап все же починился.
И действительно, бекап-то шел, как и полагалось, создалась новая точка восстановления. То есть, источник данных все же мигрировал на новый диск. А теперь поднимаем глаза выше, снова читаем надпись Error in Migration.
Становится понятным, почему провалилась попытка ручной миграции. Потому что новый диск уже был связан с записью в группе защиты и не был доступным для этой операции, только и осталось, что бедную мелкую MSR предложить.
Вот такие индийские скрипты пишутся для Data Protection Manager 2012. Хорошо еще, что хотя бы они есть, тут подсказывают, что в предыдущих версиях нужно было непосредственно базу данных DPM препарировать...
В поднятой в целях теста лаборатории этот же скрипт в такой же ситуации отработал на все сто. Далее много-много непечатного, потому печатать не буду.
Симантек, я, помнится, тебя материл безбожно. Как тут не вспомнить старое-доброе: "Вася! Если сможешь - прости!!!"
We rise up for the things we believe in over and over again


Пришла пора обновлять гипервизоры. Стандартная процедура при этом - выгнать с них все виртуалки, сидящие в кластере, погасить все, сидящие вне кластера. Делаем привычное Move - Live Migrate - Best Possible Node... И получаем облом вот такого вида:
Virtual machine migration operation for 'xxx' failed at migration source 'NODExxx'. (Virtual machine ID %VM-GUID%)
'xxx' failed to delete configuration: The request is not supported. (0x80070032). (Virtual machine ID %VM-GUID%)
Блуждания в инете говорят, что проблема в одном из двух:
1. Всякий антивирусный софт. В моем случае маловероятно, потому что с этой ноды уже несколько машин спокойно уехало. Для очистки совести заглянул в параметры антивирусного ПО - все, что относится к Hyper-V и кластеру - добавлено в исключения. Стало быть, не то.
2. Изменение настроек кластерной ВМ через оснастку Hyper-V. Рассуждения таковы: оснастка Hyper-V может банально не знать о кластерных настройках и при записи новых значений в файл просто вытрет их оттуда. Отсюда и кривая работа ВМ в кластере. Лечить - удалением пораженной машины из кластера и добавление оной в кластер заново.
В рабочем чате собирается BrainStorm. Поступает предложение выполнить валидацию всего кластера, исключив проверку стораджей. Запускаем. Проверка показывает ересь в плане сетевых настроек, но они на ВМ так влиять не должны. Смотрю на раздел VM Configuration, вместо привычного Success стоит Warning. А расскажи-ка мне поподробнее, что там предупреждение выкинуло? Каково же было мое удивление, когда я прочитал следующее:
Virtual Machine: xxx
Configuration Data Root: C:\ProgramData\Microsoft\Windows\Hyper-V
Вот в чем дело. Гипервизор считает, что файл описания ВМ хранится не на кластерном диске, а на локальном, куда хода остальным нодам кластера нет. Что ж, надо это исправить. Выключаем пораженную машину, в оснастке Failover Cluster Manager жмем на ней правой кнопкой мыши, выбираем Move, Virtual Machne Storage. В появившемся окне назначаем нужным разделам нужные каталоги на кластерном диске, и жмем ОК. А по нажатию кнопки ОК гипервизор нам заявляет, что переместить файл описания виртуальной машины не может, так как там этот файл уже есть. Хм... То есть у нас есть две копии одного файла, и рабочая из них та, что лежит в неположенном месте. Ладно, уберем их с кластерного диска, благо, имя конфликтующего файла оснастка кластера показывает. После этого дадим оснастке команду обновиться, чтобы она "забыла" о том, что на кластерном диске что-то было, и повторно попробуем переместить файлы конфигурации и обновить каталоги. В этот раз все прошло на ура.
Rinse and repeat 5 more times, потому что валидация кластера показала 6 таких пораженных виртуальных машин.
Самый главный вопрос - почему файлы конфигурации этих ВМ переползли на локальные диски, пока без ответа. Но хотя бы можно продолжить процесс обновления гипервизоров.
суббота, 05 декабря 2015
We rise up for the things we believe in over and over again
Хм... На подобные темы записи в этом дневнике возникают просто до безумия редко. Однако, этот случай, имхо, исключение. Открываем интересную статью: Пенсионная криогеника - Клац на Lenta.ru и вдумчиво читаем. Там речь о том, что пенсионные накопления, на которые работающие граждане возлагали/-ют, в принципе, немалые надежды, заморожены в очередной раз. И попутно поднимается извечный вопрос - а будет ли возврат. Далее приведу просто офигительную по своему воздействию по крайней мере на мой мозг цитату из этой статьи:
Идея ведомств, отвечающих за социальную защиту, заключается в том, что отчисляемые на накопления деньги, пока не попали на счет гражданина, — общественные, а значит, могут в какой-то момент перенаправляться на другие нужды общества. Отсюда же следует, что и возвращать эти деньги на накопительные счета никто не собирается.
Эту концепцию замглавы ПФР выразил вполне ясно: «Пенсионные фонды у меня часто спрашивают: когда же вернут пенсионные накопления? Как же их могут вернуть, когда никто ничего не забирал?!»
Дальнейших комментариев не будет, ибо ну уж очень матерно. Хотя нет, будет, но...
порядочным людям лучше не смотреть, непорядочным и им сочувствующим - по желанию
Идея ведомств, отвечающих за социальную защиту, заключается в том, что отчисляемые на накопления деньги, пока не попали на счет гражданина, — общественные, а значит, могут в какой-то момент перенаправляться на другие нужды общества. Отсюда же следует, что и возвращать эти деньги на накопительные счета никто не собирается.
Эту концепцию замглавы ПФР выразил вполне ясно: «Пенсионные фонды у меня часто спрашивают: когда же вернут пенсионные накопления? Как же их могут вернуть, когда никто ничего не забирал?!»
Дальнейших комментариев не будет, ибо ну уж очень матерно. Хотя нет, будет, но...
порядочным людям лучше не смотреть, непорядочным и им сочувствующим - по желанию
We rise up for the things we believe in over and over again
среда, 02 декабря 2015
We rise up for the things we believe in over and over again
Задумал коллега хлебнуть кофе с пенкой. Кинул денег в автомат, и стоит ждет, пока ему автомат все сделает. А автомат возьми и скажи прямо в середине процесса - "кофе закончился". П. в итоге стоит, смотрит на стакан с белоснежными сливками, которые автомат все же налил, чешет репу, после чего заявляет: "Нет, я все же выпью этот кофе". И с целеустремленностью кирпича в полете открывает наш шкафчик, где хранятся всякие чайные принадлежности, берет оттуда растворимый Nescafe и фигачит его в отданный аппаратом стаканчик с пенкой. Смотрим на все это, хихикаем, один из наших изрекает: "П., ты этот кофе только что изнасиловал %)"
Ну и на сладкое - творчество тех же коллег %)
Ну и на сладкое - творчество тех же коллег %)
воскресенье, 29 ноября 2015
We rise up for the things we believe in over and over again
На днях означенная игруха в стиме с огромной скидкой продавалась. Подумал, чего бы не заценить творение той же студии, что выпустила так полюбившуюся сердцу историю Life is strange. Что я могу сказать вам, зайчатки (с)? Если бы в RM я сыграл до выхода LiS, боюсь, мое знакомство с Макс и Хлоей могло бы и не состояться вовсе.
Геймплей. История, конечно, важна, слов нет, но и убивать геймплей тоже никогда не следует, даже в угоду этой самой истории. К слову сказать, элементы этого геймплея мне уже доводилось видеть в других играх - на куда более высоком уровне: Prince of Persia 2008 - паркура там ну просто хоть в три горла ешь, в боях от него отдыхаешь, но он и не напрягал нисколько; Metal Gear Rising/Devil May Cry 3,4 - хотите экшена, их есть у нас, тоже море, и тоже интересного. Причем с паркуром, в общем-то, проблем никаких, просто чувствуется, будто чего-то не хватает, а вот боевка... О ней особо.
Что такое боевка в RM? Она целиком и полностью завязана на комбо-ударах. Чем больше ударов в цепочке, тем сильнее бьет каждый последующий. Ну или не бьет, а, например, лечит, или время восстановления навыков уменьшает. Да только есть засада, любой удар, принятый "в лицо" сбивает эту цепочку, хотя так и должно быть. Игра нам позволяет этого избежать путем уворотов.
Официальная документация и все промо-ролики утверждают следующее: использование уворота, если получилось в результате его применения уйти от плюхи в рожу (а как показывает практика - не всегда получается), не прерывает цепочку, и вы можете продолжить мутузить избранного в качестве мишени моба с усиленным эффектом. Да вот беда, в процентах так 75 случаев это НЕ работает, цепочка рвется. Причин тому ровно три. В половине случаев - рвется дистанция между мобом и целью, в результате чего за отведенное время нельзя продолжить цепочку. В одной из оставшихся четвертей - собственная криворукость, которая более-менее выправилась к концу игры (как-никак, на Errorist Agent закончил - средняя сложность, за Memory Hunter - местный Hard - даже браться не буду). В другой оставшейся четверти - совместная работа камены и автоприцела.
Ооо, как я вас возненавидел! Особенно последний, особенно с боями против воздушных противников в толпе местной пехоты. Камера же... Даже многими поминаемая и проклинаемая камера в DMC 3 кажется эталоном удобства по сравнению с тем, что приходится контролировать правым стиком в RM. В общем, много нехороших слов было сказано по ходу прохождения в адрес камеры.
Красным 72-м шрифтом - это все в игре, основной фишкой которой преподносятся вот такие кулачные бои. Да-да, оружия нет, только ногами-руками (Ранфа, вылезай!). Хотя вру, есть что-то вроде ручного пулемета, по совместительству очень похожего на Mass Effect'овский Omni-tool. Ну и несколько спецспособностей, частота применения которых всецело зависит от радиуса кривизны рук игрока.
А уж какие роскошные баги! Два Skinner'a, оба со своими щитами, пока занимаешься одним, второй тебя и приголубит. Ладно, есть способ, берем тот самый пулемет и сносим нахрен щит хотя бы у одного. Три выстрела и ему хватит. Второй в этот момент подходит к тебе в упор и начинает долбить кулаками по лицу (буквально), а ты понимаешь, что атаковать не можешь! Вообще не можешь, НИКАК! Только уворачиваться, но бесконечно же не будешь бегать от супостата. А придется, если не хочешь загружаться с последнего чек-поинта. Что? Не хочешь? Ну тогда дальше и не пройдешь, бегай на здоровье!
С другой стороны, одному багу я обязан тем, что вообще дошел до конца. Итак, сетап: целых два Mourning Leaper'а и куча (действительно, куча) leaper'ов поменьше. Если с мелочью проблема только одна - их много, но это поправимо (слабые они, одной логической бомбы хватит, чтобы уполовинить их число), то со старшими братьями все куда сложнее. Первое - просто так их не ударить, постоянно телепортируются на поле боя, норовя прям как заправские сины жахнуть тебя из хайда. Что и делают. Вот только у синов-игроков, как правило, выхода из хайда снова в него залезть возможности может уже и не представиться, эти же сваливают сразу после удара. Второе - их сразу два, и это действительно проблема. Уворачиваешься от одного, персонаж входит на несколько кадров в неуправляемое состояние (анимация восстановления после прыжка), но в этот момент он уже уязвим, и вот тут второй тебя тепленького и возьмет. Третье - даже если извести всю мелочь, "старшие братишки" вызывают новых.
Выход из этой "арены" не открывается, пока не уложишь всех.
Так вот, не знаю, какие условия надо было создать или что именно сделать, но после второй логической бомбы во время черт-знает-какой-по-счету-попытки, когда противники еще живы, мне засчитывают победу в этом бою, открывают двери и говорят - ваше следующее задание там-то, идите и несите возмездие. Что за чертовщина, я до сих пор понять не могу, но знаю точно, скорее всего на сегодня я бы забил на игру. Это сражение меня выбесило.
Саундтрек. В отзывах его хвалят. Что ж, вкусы у всех разные, так что говорю лишь за себя - не запомнился ни единой композицией. Даже "боевые" треки, что в моей практике для action-игры вообще ахтунг, мелодия всегда задает темп. Майкл МакКанн,Джеймс Кристоферсон, Гарет Кокер - где же вы?!
Помнить тебя? Увы, боюсь, поводов забыть куда больше. На фоне этого все же есть радость, Dontnod Ent. может делать классные игры - Life is strange тому пример. Просто action - не их жанр.
Ну и на вкусное:
С "грехом" обозначенным номером 42 согласен целиком и полностью - взоржал с этого момента еще в игре
Геймплей. История, конечно, важна, слов нет, но и убивать геймплей тоже никогда не следует, даже в угоду этой самой истории. К слову сказать, элементы этого геймплея мне уже доводилось видеть в других играх - на куда более высоком уровне: Prince of Persia 2008 - паркура там ну просто хоть в три горла ешь, в боях от него отдыхаешь, но он и не напрягал нисколько; Metal Gear Rising/Devil May Cry 3,4 - хотите экшена, их есть у нас, тоже море, и тоже интересного. Причем с паркуром, в общем-то, проблем никаких, просто чувствуется, будто чего-то не хватает, а вот боевка... О ней особо.
Что такое боевка в RM? Она целиком и полностью завязана на комбо-ударах. Чем больше ударов в цепочке, тем сильнее бьет каждый последующий. Ну или не бьет, а, например, лечит, или время восстановления навыков уменьшает. Да только есть засада, любой удар, принятый "в лицо" сбивает эту цепочку, хотя так и должно быть. Игра нам позволяет этого избежать путем уворотов.
Официальная документация и все промо-ролики утверждают следующее: использование уворота, если получилось в результате его применения уйти от плюхи в рожу (а как показывает практика - не всегда получается), не прерывает цепочку, и вы можете продолжить мутузить избранного в качестве мишени моба с усиленным эффектом. Да вот беда, в процентах так 75 случаев это НЕ работает, цепочка рвется. Причин тому ровно три. В половине случаев - рвется дистанция между мобом и целью, в результате чего за отведенное время нельзя продолжить цепочку. В одной из оставшихся четвертей - собственная криворукость, которая более-менее выправилась к концу игры (как-никак, на Errorist Agent закончил - средняя сложность, за Memory Hunter - местный Hard - даже браться не буду). В другой оставшейся четверти - совместная работа камены и автоприцела.
Ооо, как я вас возненавидел! Особенно последний, особенно с боями против воздушных противников в толпе местной пехоты. Камера же... Даже многими поминаемая и проклинаемая камера в DMC 3 кажется эталоном удобства по сравнению с тем, что приходится контролировать правым стиком в RM. В общем, много нехороших слов было сказано по ходу прохождения в адрес камеры.
Красным 72-м шрифтом - это все в игре, основной фишкой которой преподносятся вот такие кулачные бои. Да-да, оружия нет, только ногами-руками (Ранфа, вылезай!). Хотя вру, есть что-то вроде ручного пулемета, по совместительству очень похожего на Mass Effect'овский Omni-tool. Ну и несколько спецспособностей, частота применения которых всецело зависит от радиуса кривизны рук игрока.
А уж какие роскошные баги! Два Skinner'a, оба со своими щитами, пока занимаешься одним, второй тебя и приголубит. Ладно, есть способ, берем тот самый пулемет и сносим нахрен щит хотя бы у одного. Три выстрела и ему хватит. Второй в этот момент подходит к тебе в упор и начинает долбить кулаками по лицу (буквально), а ты понимаешь, что атаковать не можешь! Вообще не можешь, НИКАК! Только уворачиваться, но бесконечно же не будешь бегать от супостата. А придется, если не хочешь загружаться с последнего чек-поинта. Что? Не хочешь? Ну тогда дальше и не пройдешь, бегай на здоровье!
С другой стороны, одному багу я обязан тем, что вообще дошел до конца. Итак, сетап: целых два Mourning Leaper'а и куча (действительно, куча) leaper'ов поменьше. Если с мелочью проблема только одна - их много, но это поправимо (слабые они, одной логической бомбы хватит, чтобы уполовинить их число), то со старшими братьями все куда сложнее. Первое - просто так их не ударить, постоянно телепортируются на поле боя, норовя прям как заправские сины жахнуть тебя из хайда. Что и делают. Вот только у синов-игроков, как правило, выхода из хайда снова в него залезть возможности может уже и не представиться, эти же сваливают сразу после удара. Второе - их сразу два, и это действительно проблема. Уворачиваешься от одного, персонаж входит на несколько кадров в неуправляемое состояние (анимация восстановления после прыжка), но в этот момент он уже уязвим, и вот тут второй тебя тепленького и возьмет. Третье - даже если извести всю мелочь, "старшие братишки" вызывают новых.
Выход из этой "арены" не открывается, пока не уложишь всех.
Так вот, не знаю, какие условия надо было создать или что именно сделать, но после второй логической бомбы во время черт-знает-какой-по-счету-попытки, когда противники еще живы, мне засчитывают победу в этом бою, открывают двери и говорят - ваше следующее задание там-то, идите и несите возмездие. Что за чертовщина, я до сих пор понять не могу, но знаю точно, скорее всего на сегодня я бы забил на игру. Это сражение меня выбесило.
Саундтрек. В отзывах его хвалят. Что ж, вкусы у всех разные, так что говорю лишь за себя - не запомнился ни единой композицией. Даже "боевые" треки, что в моей практике для action-игры вообще ахтунг, мелодия всегда задает темп. Майкл МакКанн,Джеймс Кристоферсон, Гарет Кокер - где же вы?!
Помнить тебя? Увы, боюсь, поводов забыть куда больше. На фоне этого все же есть радость, Dontnod Ent. может делать классные игры - Life is strange тому пример. Просто action - не их жанр.
Ну и на вкусное:
С "грехом" обозначенным номером 42 согласен целиком и полностью - взоржал с этого момента еще в игре

суббота, 28 ноября 2015
We rise up for the things we believe in over and over again


Проблема, буквально задалбывающая при работе с VM WS - ни с того, ни с сего отваливается фукнция копирования/вставки их Host OS в Guest OS и наоборот. Обычный метод лечения - перезагрузка хоста, но бывают же случаи, когда перезагрузить хост просто нельзя. Тогда делаем так:
1. Идем в Guest OS. Вырубаем там процесс vmtoolsd.exe.
2. Идем в Host OS. Вырубаем там процесс vmware-tray.exe, после чего запускаем его заново.
3. Идем в Guest OS. Запускаем там ранее убитый vmtoolsd.exe при помощи команды "C:\Program Files\VMware\VMware Tools\vmtoolsd.exe" -n vmusr, или "C:\Program Files (х86)\VMware\VMware Tools\vmtoolsd.exe" -n vmusr для 64-bit Host OS.
И наслаждаемся копипастом ровно до следующего вылета.
Пробовал обойтись только перезапуском процесса в Guest OS, не помогает

пятница, 27 ноября 2015
We rise up for the things we believe in over and over again

Касуми... Эм... Касуми Гото?
