zHz00 Untitled

вторник, 29 мая 2018
23:59 Ремонт Филёвской линии или "следующая станция Стокгольм"
Дело было в феврале, когда мне надо было с'ездить на Горбушкин двор.

На Филёвской линии делают ремонт уже второй или третий год. Заменяют асфальто-бетонные платформы на другие. Поэтому половина станций закрыта в одну из сторон. Состояние закрытости постоянно меняется. Только что прочитал, что 26 и 27 мая линия вообще была закрыта от Киевской до Кунцевской.

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

Чтобы было проще понимать, о чём я пишу, привожу список станций Филёвской линии от Кольцевой линии до конечной:

(конечная)
Кунцевская
Пионерская
Филёвский парк
Багратионовская
Фили
Кутузовская
Студенческая
Киевская
(центр)

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

Я решил -- а почему бы мне не поехать до Филёвского парка? Было там кое-что, на что я хотел посмотреть.

Однако Филёвский парк не работала в направлении из центра. Что было с Пионерской, я забыл. В общем, я поехал до Кунцевской.

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

А в громкоговорителе на Кунцевской об'являли непрерывно, что для проезда до станций Филёвский парк и Фили надо садиться в третий и четвёртый вагоны. Но не указывалось, от какого конца поезда считаются эти вагоны (поезд приезжал одним концом, а уезжал другим). И не указывалось, имеются ли ввиду целые вагоны или полувагоны. На Филёвской линии ездят составы типа Русич из пяти сдвоенных вагонов.

В общем, да! Я сел не в тот вагон. И я ещё ладно, т.к. мне было в целом всё равно, куда ехать. А вот некоторые другие пассажиры выглядели весьма... обескураженными тем, что произошло далее.

"Э, я ведь села в третий вагон, вот: раз, два, три! Куда мы едем?!"

Пионерскую проехали без приключений.
На Филёвском парке в наш вагон посадка не осуществлялась. Зато в соседний вагон набилась толпа народа. Это выглядело очень любопытно. Мы едем в почти пустом вагоне и сквозь стекло наблюдаем давку.
Багратионовская в центр не работала вообще, как я уже писал выше. Её мы проехали мимо.
На Филях повторилась та же история -- в наш вагон посадка не осуществлялась.
Кутузовская в центр тоже не работала!
Нас выпустили только на Студенческой, которая работала полностью в обоих направлениях.

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

@темы: Случай из жизни, Общественный транспорт

URL
понедельник, 28 мая 2018
23:33 Ясновидение
Звонок на сотовый.
-- Здравствуйте, вас беспокоят из *неразборчиво*банка.
-- Какого-какого банка?
-- Из Сбербанка. Слышали такой?
-- Ага.
-- Это Имя-Отчество?
-- Ага.
-- Можете сейчас говорить?
-- Смотря о чём. Если вы мне хотите предложить Сбербанк-Премьер, то не могу.
-- А почемууу? Вот если вы встретитесь со своим персональным менеджером...

Я ЗНАЛ.

@темы: Звонки

URL
воскресенье, 27 мая 2018
23:59 Персонаж NetHack и его биография
Жизнь подавляющего большинства жителей Земли не блещет оригинальностью. Даже если человеку интересно жить, достойных упоминания событий может быть очень немного. Кроме того, такие события надо не просто переживать, но ещё их и замечать.

То есть, вот я, например. Наполнена ли событиями моя жизнь? Большими -- нет. Маленькими -- да. Но всё равно приходится выжимать и пересматривать раз за разом реальность, чтобы чиркануть пару строчек.

Но хочется, хочется событий.

В реальности допрыгаться до того, чтобы можно было писать целые мемуары, в принципе, можно. Есть люди, которые участвуют в боевых действиях, ходят в геологические экспедиции или совершают хадж. Как правило, такие штуки сопряжены с опасностью для жизни. Зато потом есть, что рассказать.

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

Рыболов хвастается перед приятелями (широко раздвигая руки):
-- Я вчера поймал вот такую рыбу!
Приятелям надоедает, и они связывают рыболову руки.
Рыболов (делая ладонями связаных рук круг):
-- И у нее был вот такой глаз!

И есть ещё одна возможность -- виртуальные миры. Виртуальные миры существуют в нескольких вариантах.

1. Неинтерактивные:
а) кино;
б) литература.
2. Интерактивные (игры):
а) компьютерные игры;
б) словесные игры, в т.ч. форумные.

Особенность виртуальных миров в том, что они позволяют участвовать в ПРИКЛЮЧЕНИИ (долго я избегал этого слова) по очень низкой стоимости. Риск минимален. Траты минимальны. Но переживания -- настоящие. И ситуации -- настоящие. По крайней мере, для персонажей.

Насколько эти ситуации реальны для реального человека? Это зависит от степени слияния человека и персонажа (от этого же зависит сила испытываемых эмоций). И вот тут наблюдается разница между виртуальными мирами. Неинтерактивные миры не позволяют человеку непосредственно участвовать в событиях. Он лишь наблюдатель. Участвовать в таком приключении всё равно что слушать чужую историю. Поэтому степень слияния низкая.

Если хочется иметь свою историю, то тут, конечно, следует обратиться к играм.

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

Далее я буду говорить об играх компьютерных.

Интерактивность компьютерной игры -- вовсе не залог того, что можно попасть в приключение. Игра может представлять собой т.н. "рельсы". Даже если рельсов нет, свобода действий и разнообразие происходящего с игроком могут быть сильно ограничены. То есть ключ -- вариативность.

Может быть, лучше всего подходят игры типа "песочница"? Почти. Песочница может страдать от двух вещей:
а) отсутствие конечной или даже промежуточной цели (хотя для некоторых игроков это плюс);
б) отсутствие (малое число) событий, не инициированных игроком.

В NetHack, мне кажется, хорошо соблюдён баланс между песочницей и RPG с сюжетом (я слышу крики: NetHack и есть песочница!). Свобода действий игрока не ограничена, однако общие направляющие, по которым надо идти, чтобы "проходить" игру -- известны.

1994-1995. The Longest-Lived Hacker Ever

Именно многообразие контента в NetHack, случайная генериация событий и окружения, а также глупость и невнимательность игрока приводят к тому, что в NetHack можно испытать настоящее приключение. А потом об этом рассказать.

Есть другие подобные игры, например широко известный Pixel Dungeon. В нём ситуация гораздо хуже -- потому что мало контента.

Не скромничая, скажу, что в NetHack я играю хорошо. Поэтому партия часто затягивается (то есть, персонаж долго не умирает). И каждая затянувшаяся партия для меня -- это и есть приключение. Да, рассказать цельный сюжет получается не каждый раз. Однако, на "рассказы с рыбалки" очень даже хватает.

Проблема в том, что поскольку я играю медленно и мало (да, 5-10 партий в год -- это мало), количество таких рассказов у меня очень ограничено. Ограничена и аудитория, которой можно их поведать (кому это понятно и интересно). Остаётся присаживаться на уши новичкам.

"Ооо, вот однажды я подох на Астральном Плане..."


Рис. 1. Главный герой KonoSuba присаживается на уши новичку.

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

Но проблема отсутствия новых историй встречается часто, причём не только применительно к компьютерным играм. Корень этой проблемы в человеке, который по тем или иным причинам не сталкивается с чем-то интересным, а вовсе не в самом NetHack. То есть, вот играл бы я больше, было бы больше и историй.

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

@темы: Мысли, NetHack, Статьи

URL
суббота, 26 мая 2018
23:59 Untitled [525]
Те, кто располагают соответствующие остановки трамвая и иного транспорта не рядом -- поступают плохо. Это затрудняет пересадку.

Например, у м. Сокол автобусно-троллейбусная остановка расположена в точности между двумя трамвайными.

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

@темы: Общественный транспорт, Наблюдения

URL
пятница, 25 мая 2018
23:59 Об ошибках в POS-терминалах
POS-терминалы, банкоматы и другие подобные устройства стали весьма распространены. Очевидно, информация, которая на них показывается, чем-то генерируется. Как правило, в основе подобных устройств лежит обычный ПК, хотя иногда встречаются исключения.

Поскольку в основе -- ПК, а на нём крутится винда и какое-то ПО, всё это изредка падает. Выводятся соответствующие сообщения об ошибках, синие экраны и прочее.

И вот этот момент, когда служебный экран вместо основной функции начинает показывать винду или какое-нибудь неположенное окошко, вызывает ощущение разрыва реальности. Этого тут быть не должно! Как будто декорация отвалилась. И это и есть отвалившаяся декорация -- в прямом смысле!

Не я один дивлюсь на такое, в интернете куча фоток. Я сам тоже снимаю, если вижу. Вот, например, захожу я как-то раз в одно заведение и вижу там на кассе вот что:



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

Как же должно вести себя ПО на компьютерах, экраны которых постоянно видят клиенты?

1. Желательно, чтобы сообщения об ошибках на такие экраны не выводились вообще. Должно быть просто написано "устройство временно не работает". Примерно так пишут банкоматы Сбербанка. Клиентам незачем знать, что там сломалось. Если устройство предназначено для пассивного вывода информации, либо работают с ним только сотрудники, но не клиенты, то можно вообще выводить логотип организации без пояснений. Тогда клиенты даже не догадаются, что что-то сломано. Очевидно, сотрудники должны уметь отличать логотип, сигнализирующий об ошибке, от обычного.
2. Естественно, работники, либо сервисный инженер, должны иметь возможность узнать, что произошло на самом деле. Это можно реализовать различными способами, к примеру, если нажать определённую комбинацию клавиш на терминале, откроется окно с текстом ошибки. Также возможна запись в лог-файл и последующий дистанционный его просмотр.
3. Тексты сообщений об ошибках должны быть на простом русском языке. Если работник в состоянии сам исправить ошибку, по тексту должно быть понятно, что делать ("отсутствует питание: вставьте вилку в розетку"). Если сообщение предназначено для сервисного инженера, оно должно легко читаться вслух, чтобы инженер мог оказать помощь по телефону. Проще всего выводить код ошибки.

Философский вопрос, следует ли перезапускать программу, если возникла ошибка? Или надо держать её в состоянии ошибки до прибытия помощи? Я считаю так: если ошибка предусмотрена разработчиками и корректно обработана И нет серьёзной необходимости, чтобы ПО постоянно работало, то пусть себе висит в состоянии ошибки. Если же ошибка не предусмотрена (типа access violation) либо если ПО должно работать 24/7, то лучше программу перезапустить. То есть:

4. Должна быть специальная сторожевая программа, которая проверяет, жива ли основная. Сторожевая программа должна уметь определять нестандартные ситуации (и особенно access violation) и при малейшем подозрении перезапускать основную программу. Основная программа, в свою очередь, должна проверять, жива ли сторожевая, и запускать её, если упала уже она.
5. Продолжение 4. Предусмотренные сообщения об ошибках должны выводиться в стиле основного интерфейса. Любые стандартные окошки винды, панель задач и т.п. -- недопустимы. Если основная программа падает всё время, сторожевая должна запускать альтернативную программу, которая будет уметь показывать на экране только полноэкранный логотип на переднем плане. Шанс, что такая программа сфейлится в работе, гораздо ниже, чем шанс фейла основной.

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

@темы: Программирование, Восприятие, Мысли

URL
четверг, 24 мая 2018
23:59 Как работает стек в PIC32 (MIPS)?
По-видимому кроме STM32 (ARM) теперь я буду работать ещё и с PIC32 (MIPS). Стал разбираться, что к чему. И что-то оказалось, что в MIPS всё не как у людей. Про статусное слово процессора ничего не видно. Про стек ничего не видно. Что происходит вообще?

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

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

Каждый раз, когда нужен push:

1. Вычесть из регистра, который назначен регистром стека, четыре.
2. Положить по адресу в этом регистре нужное число.

Каждый раз, когда нужен pop:

1. Забрать по адресу из регистра число.
2. Прибавить к регистру четыре.

ААА!

Из-за этого оверхеда один товарищ, который давно с pic32 работает, старается локальные переменные вынести по максимому в глобальные. Типа для скорости. Потому что локальные переменные хранятся на стеке. Хотя так ли велика потеря?

UPD. Потеря такова.

1. Согласно документации, пуш и поп в STM32 (ARM) занимают 1+N тактов, где N -- число сохраняемых регистров (они задаются списком). См, например, Cortex M-4 r0p0 Technical Reference Manual, Issue B, p. 3-6, Table 3-1.
2. Судя по описанию работы конвейера в PIC32, все команды кроме команд умножения, деления и FPU выполняются за один такт. Хотя мне не удалось найти, где про это написано явно.

Таким образом, оверхед при сохранении/загрузке одного регистра одинаковый (без учёта конвейерной оптимизации). Если регистров несколько, то у STM32 (ARM) небольшое преимущество, однако:
1. В зависимости от реализации конвейера в конкретном PIC32 а также получившегося кода общее время выполнения при той же частоте у PIC32 может оказаться даже меньше.
2. Далеко не вся работа со стеком заключается в использовании пуш и поп. Если локальная переменная хранится в стеке, то обращение к ней будет просто load/store командой, которая занимает 2 такта в STM32 (ARM) и, по-видимому, 1 такт в PIC32. Кроме того, работа с переменными в стеке в таком случае не будет отличаться от работы с глобальными переменными (по времени).
3. При таком большом количестве регистров общего назначения появляется возможность размещать часть локальных переменных в регистрах процессора, а не в стеке. И у PIC32 возможности тут шире, т.к. регистров больше.

Таким образом, отказ от локальных переменных в пользу глобальных для ускорения работы программы необоснован.


Вот я не знаю, может быть, я что-то не понимаю в архитектурах, но почему нельзя было сделать встроенные пуш и поп? Что-что, говорите? Потому что это RISC? Так ARM тоже RISC. И там есть отличные пуш и поп.

@темы: Крик души, Программирование, Говнокод, Борьба с техникой

URL
среда, 23 мая 2018
23:59 Быстрее, чем ты скажешь "черничный пирог"
На некоторых станциях метро заработали табло, отображающие время до прибытия следующего поезда с точностью до секунды. Да, такое уже было, скажем, на Киевской, чтобы показывать, когда будет поезд до Кунцевской, а когда -- до Международной.

Но это -- другие табло. Висят хвосте платформы, т.е. не там, где табло со временем. Это -- обычные большие ЖК-дисплеи. На них белым по чёрному огромными цифрами написано, сколько осталось. При этом время пересчитывается на ходу, и может стоять на месте или даже увеличиваться.

Время до следующего поезда начинает отображаться ещё до отправления текущего.

Чего я не понял, так это почему табло размещены с противоположной стороны от табло текущего времени+времени от отправления последнего поезда. Логичнее было бы их разместить там же -- и оформить в том же стиле.

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

@темы: Мысли, Общественный транспорт, Наблюдения

URL
вторник, 22 мая 2018
23:59 Untitled [524]
Захожу на работе в туалет. Там чел моет руки. Встаю рядом.
Чел: Тут очередь!
Я: Да мне только спросить!

@темы: Случай из жизни, Викторика

URL
понедельник, 21 мая 2018
23:59 Баланс между игровым персонажем и игроком
Вот о чём я подумал.

В компьютерных играх успешность игрового процесса зависит от персонажа с одной стороны -- и от самого игрока с другой стороны.

(стена текста)

@темы: Мысли, NetHack, Игры, Статьи

URL
воскресенье, 20 мая 2018
23:59 Двадцать да двадцать -- рубль двадцать
Написано, что если в определённом магазине в ТЦ отоваришься, то бесплатная парковка до конца дня.

Отоварился. Продлил парковочный билетик на специальной стойке.

Пошёл дальше по своим делам. Прохожу мимо паркомата, думаю -- проверю-ка я, действительно мне парковка бесплатно или нет?

Втыкаю билетик, паркомат показывает "оплата совершена". Окей. Собираюсь идти дальше, а потом думаю -- проверю-ка ещё раз! Очень удачно решил я второй раз проверить, надо сказать.

Втыкаю, паркомат показывает "оплата уже совершена. У вас есть ещё 19 минут, чтобы уехать с парковки".

ААА! То есть срок "до конца дня" сбрасывается при втыкании талончика в паркомат! Про это нигде не написано! Пришлось срочно оттуда валить.

@темы: Крик души, Случай из жизни, Автомобили

URL
суббота, 19 мая 2018
23:59 Page fault in nonpaged area
Однажды я взял большой чемодан и сложил в него все лишние компьютерные кабеля, железки и прочее. Сто лет не пользовался тем, что туда положил. Только место занимало.

Потом чемодан я закрыл и запрятал куда подальше. Заставил сверху коробками с чем-то. Ну, вещи-то нечасто нужны, можно и спрятать.

А теперь я чуть ли не каждый месяц лазаю в этот чемодан, потому что оттуда что-то нужно.

@темы: Восприятие, Наблюдения

URL
пятница, 18 мая 2018
23:59 Названия наук в обиходе
Фактически названия некоторых наук употребляются не только в основном значении. Но не все. Вот что я вспомнил.

Особенно распространено в медицинских науках.

Психиатрия: граждане подозревают у человека психическое расстройство. Если расстройство действительно есть, то вместо "психиатрия" употребляется выражение "(псих) со справкой". Пример: "такое поведение -- уже психиатрия".
Неврология: граждане видят у человека симптомы неврологических расстройств, либо знают о наличии соответствующих заболеваний.
Онкология: то же, но как правило уже о подтверждённых диагнозах. "У него обнаружили онкологию".
Психология: в отличие от предыдущих, не говорит о наличии у человека психологических проблем. Употребляется, к примеру, в качестве жанра кино, где поднимаются психологические темы. Также под психологией понимают всё, что связано с человеческим поведением и его причинами. Например, "психология русского человека такова, что он всегда ищет халявы".

Некоторым другим наукам тоже досталось.

Химия. Моё любимое. Значений множество: 1. Химические вещества, например в магазине отдел "бытовая химия". 2. Наличие вредоносных химических веществ в пище ("там сплошная химия!"). Что характерно, наличие вредоносных веществ НЕ в пище химией не называется. 3. Слэнговое название для химиотерапии. 4. Вид принудительного труда в СССР. 5. Сильное влечение между людьми.
Математика: любые расчёты. Например: "математика тут простая -- половину вырученного отдаём крыше, остальное делим поровну между собой".
Статистика: результаты статистических исследований, а также их анализ. "По статистике, столько-то процентов ДТП совершается с участием пьяных водителей".
Экология: имеется ввиду экологическая ситуация. "Экология тут хорошая".
Электроника: электронные приборы, а также электронные схемы внутри приборов ("в его дом ударила молния -- так вся электроника сгорела!"). Ещё -- музыкальный жанр.
Оптика: магазин очков.

Кто ещё что помнит?

Пожалуйста, ознакомьтесь с комментариями.

@темы: Наблюдения

URL
четверг, 17 мая 2018
23:59 Коннекто вайядо
Заходит из соседнего отдела женщина очень конфликтная и спрашивает -- кто тут разбирается в смартфонах?

Все молчат.

Она повторяет вопрос.

Я спрашиваю, что у неё случилось?

Она показывает -- вот, у меня тут есть чат с родственниками.
Я -- и что, хотите всех оттуда удалить?

Да, иногда я ляпну что-нибудь, а потом жалею. Но в этот раз всё обошлось.

Она -- нет, только одного товарища. Вот этого. Не хочу больше его видеть. Я в чат написала поздравление с девятым мая, а он сказал видишь что? "не тот чат". Редиска. Пусть идёт теперь лесом.

В общем, заблокировал я ей того чела (удалить было нельзя т.к. она не администратор чата).

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

Но при этом ощущение нереальности и понарошечности интернета у людей всё ещё встречается. И у меня тоже. Вот над этим надо работать. Над осознанием серьёзности и реальности интернета.

@темы: Случай из жизни, Мысли, Очевидное-невероятное

URL
среда, 16 мая 2018
23:51 Меньше напёрстка
Сижу на работе, никого не трогаю.

Этажом выше начинают бурить перфоратором.

Я: Та-а-к, похоже мне пора на обед.
Коллега: Это у тебя так в животе урчит что ли?

@темы: Случай из жизни, Викторика

URL
вторник, 15 мая 2018
23:41 Сообразим на троих
Есть что-то душевное, когда в подземных переходах в Москве ведётся деятельность с рук.

А когда деятельность ведут сразу несколько человек, может получиться смешно. Вот что я видел в подземном переходе у м. Сокол однажды:

1. При входе в углу сидел бомж-хиппи в непрозрачных выпуклых золотых очках в обнимку с двумя грязными собаками. Я не понял, просил он милостыню или нет.
2. В середине парень играл на гитаре и пел, а тощая девчонка рядом с ним приставала к проходящим людям, потрясая шапкой.
3. В конце перехода стоял негр. На полу перед ним был расстелен кусок ткани, а на нём лежало много пар кроссовок.

@темы: Случай из жизни, Наблюдения

URL
понедельник, 14 мая 2018
23:44 О серийном производстве
Не то чтобы мы не производили ничего серийного. Но заказов на несколько экземпляров изделий сразу нам обычно не поступает. Заказывают один. Мы его делаем и поставляем.

И тут мы придумали такой прибор, которого заказали сразу 15 штук. Это -- партия.

В отличие от большинства других приборов, данный -- довольно маленький и довольно дешёвый. Кроме того, он имеет не только научное применение, как остальные, но и промышленно-бытовое.

Когда я учился в институте, нам один препод, всю жизнь занимавшийся научной деятельностью, говорил -- старайтесь браться за контракты по НИР (научно-исследовательская работа) и не браться за ОКР (опытно-конструкторская разработка). Потому что второе -- геморрой.

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

(читать дальше)

@темы: Лайфхак, Борьба с техникой, Наблюдения, Статьи, Очевидное-невероятное

URL
воскресенье, 13 мая 2018
23:59 О фантиках
Сначала мне на фантики было пофиг. С'ел конфету, а фантик рядом положил. Через некоторое время рабочая поверхность стола, к примеру, превращалась во что-то нечто. Свалка!

Скопом всё собрал и вынес в мусорное ведро.

Потом я стал думать, что с этим надо что-то делать. Приспособил у себя в комнате специальный мешок для фантиков. Теперь я складывал фантики и обёртки туда. Через некоторое время мешок разрастался до приличных размеров.

Тогда я выносил уже мешок.

Потом я стал думать, что с этим тоже надо что-то делать. Я стал выносить фантики сразу. Более того, я обнаружил, что начал получить удовольствие от выбрасывания фантиков и подобного мусора. Типа -- УРА, почищено!

Что будет дальше.

Ещё про мусор:
zhz00.diary.ru/p213013754.htm
zhz00.diary.ru/p175587115.htm

@темы: Мысли

URL
суббота, 12 мая 2018
23:59 Я, Локи, бог коварства, присягаю тебе на верность...
Пару дней назад.

Сестра: Ох, завтра наконец я пойду на "Войну бесконечности", уже сил нет терпеть.
Я: Ага, у меня тоже нет сил терпеть, когда ты уже пойдёшь. Хочу, чтобы ты пересказала.
Сестра: Может, тогда проспонсируешь?
Я: Не-а. Ты же всё равно пойдёшь.
Сестра: Ага. А если бы ты знал, что просто так не пойду?
Я: Тогда бы я стал смотреть, как ты мучаешься.

@темы: Случай из жизни

URL
пятница, 11 мая 2018
23:59 dNetHack: краткий обзор
dNetHack -- это усложнённый и переработанный вариант NetHack.

На протяжении последних полутора месяцев я ежедневно играл в dNetHack по джва часа в день. Кончилось это тем, что dNetHack я прошёл. Об этом данный пост (или, как говорится, YAFAP, поскольку до этого dNetHack я не проходил, хотя проходил обычный NetHack и UnNetHack).

Можно сказать, что я прошёл "с первого раза", но технически это не так. Во время Junethack пару лет назад я уже пробовал играть в этот вариант NetHack, но тогда моей целью не было прохождение. Сейчас, когда я поставил себе целью прохождение, я действительно прошёл его с первого раза.

Из-за багов в игре дамп-лог не сохранился. Мне пришлось вручную выдрать его из имеющегося реплея, чтобы можно было похвастаться: pastebin.com/QB1aHTVK

На этом часть с хвастовством заканчивается, и начинается часть о самой игре.

dNetHack мне очень понравился. Он действительно сложнее обычного NetHack, но не настолько невыполним, как SLEX. В игре изменено несколько ключевых механик, например вместо Elbereth надо использовать специальные защитные знаки (ward), которые можно узнать из книг заклинаний (что делает их небесполезными даже для боевых персонажей). При попытке чтения книжки выдаётся запрос -- учить заклинание или защитный знак? Знаки учить проще.

Многие сопротивления теперь исчезают со временем (сопротивление ядам, слава Тюру, не исчезает). Трупы, дающие сопротивление, дают его всегда, но не навсегда: чем больше труп, тем на дольше можно получить сопротивление. О потере сопротивления выдаётся предупреждение. Сопротивления, полученные при коронации, больше не исчезают. Но чтобы получить коронацию, теперь надо выполнить Квест и поговорить после этого с квест-лидером.

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

Чтобы попасть в Геенну, теперь нужно добыть хотя бы три из девяти уникальных ключей, которые разбросаны по трём огромным новым ответвлениям подземелья. И вот эти ответвления -- основное, ради чего стоит играть в dNetHack. Ответвления называются "квесты вероисповедания" (alignment quest). Очевидно, на каждую веру приходится по квесту (lawful, neutral, chaotic). Названия квестов довольно условны, т.к. их можно проходить независимо от собственного вероисповедания.

По большей части раскладки всех уровней этих квестов фиксированы. Это вызывает у меня сомнения в реиграбельности dNetHack, но по первому разу мне было всё это изучать очень интересно.

Квест законопослушности самый неинтересный. Надо завоёвывать многоэтажную крепость. Хотя если сгенерируется башня с Платиновым драконом (12.5% шанс в каждой игре), там будет поинтереснее.
Фишка квеста хаоса -- его устройство. Куча лестниц и порталов, и все куда-то ведут. Но не туда, куда надо. В конце имеется босс, который страшно колдует и имеет 1400 хп.
Квест нейтральности -- просто бомба. Во-первых, он воссоздаёт патч SLethe для SLASH'EM. Кажется, dNetHack -- единственный актуальный вариант NetHack, который позволяет воочию увидеть все уровни SLethe почти без изменений. А во-вторых, вас ждут лавкрафтовские монстры, в т.ч. шогготы, спуск в бездну Эн-Кай (см. рассказ Курган), а на дне -- встреча с Великим Ктулху и Серебряный Ключ. И ещё там есть Некрономикон!

Геенна сильно переработана. Первые пять уровней идут лабиринты (но площадь уровня поменьше стандартной), потом башня Wizard of Yendor (как обычно, без входа), и, наконец, покои разных уникальных демонов (много новых). Демоны в dNetHack очень толстые и очень опасные. Здоровьечко у них от 500 до 1700 очков, при этом они часто колдуют страшные заклинания (например, окаменение!). Некоторые имеют специальные атаки, в том числе уничтожающие броню игрока (и защититься от этого невозможно, magic resistance не помогает).

На дне, в Санктуме, живёт ужасающий жрец в жёлтой шёлковой маске. И он действительно ужасающий.

Что я могу кратко посоветовать тем, кто решит пройти этот вариант NetHack?

1. Ознакомиться с соответствующими статьями NetHackWiki:

nethackwiki.com/wiki/DNetHack
nethackwiki.com/wiki/User:Chris/dNetHack/Rule_C...
nethackwiki.com/wiki/User:Chris/dNetHack/Pointe...
nethackwiki.com/wiki/Standard_strategy_-_dNetha...

Следует учесть, что многие сведения там устарели, но с этим я, скорее всего, что-нибудь сделаю через некоторое время.

2. Учиться пользоваться защитными знаками. Это будет помогать до конца игры. Механика нетривиальная, но будучи освоенной, она становится мощнее Elbereth. Так, знаки на полу рисуются со 100% шансом. А знаки, вырезанные на оружии, не деградируют со временем, что даёт надёжную защиту от морских монстров, к примеру. То, от чего в ванильном NetHack пострадали очень многие.

3. Помнить, что следующие вещи практически необходимы для прохождения: free action, drain resistance, средства для многократного лечения окаменения, ring of sustain ability (почти бесполезное в ванили). Также минимальное число здоровья для комфортной игры не 150-250, как в обычном NetHack, а минимум 500! И это если у вас есть half physical damage+half spell damage. Иначе лучше иметь 700+ хп. Если у вас будет acid resistance, это тоже сильно поможет.

4. Играть исключительно в версию, куда интегрирован Pokedex-патч. Он позволяет просматривать все характеристики моба на экране. На сервере ascension.run/ такой патч установлен. Поскольку документирован данный вариант довольно плохо, а новых монстров много, этот патч становится большим подспорьем.

5. Использовать code-diving, т.е. чтение исходников игры. В прииинципе, пройти можно и так (если есть Pokedex), но лично мне без данной методики было бы трудно. Я непрерывно просматривал исходники одним глазом (а другим -- нетхаквики). Так и прошёл.

Я тщательно документировал прохождение, что вылилось в 140 кб текста. Этот текст требует серьёзной обработки. Я этим рано или поздно займусь и тогда сделаю сагу о прохождении, а также несколько спойлеров по dNetHack. Пока предоставляю желающим дневник прохождения в сыром виде:
pastebin.com/CmBuZ05M

TTYREC соответствующих серий расположены вот тут: ascension.run/userdata/zHz/dnethack/ttyrec/ . Соответствующие даты помечены в дневнике в формате ===[YYYY-MM-DD]=== . На 90% дневник повторяет то, что я выкладывал в телеграм-конференции t.me/runethack . Дополнено это только некоторой служебной информацией, также исправлено несколько моих ошибок, связанных с недопониманием геймплея; скорее всего есть ещё ошибки, я исправил только то, что обнаружил случайно. Исправлены ошибки с номерами серий и проставлены даты, что должно немного улучшить юзабилити.

Описание каждой серии снабжено разделом "итоги", содержащим основные события серии, а также "что я узнал нового" (первые несколько серий этого раздела не содержат), содержащим обнаруженные мной отличия от ванильного NetHack.

Теперь у меня 9 вознесений, 8 на серверах ( scoreboard.xd.cm/players/z/zHz.all.html ) и одно локальное.

@темы: NetHack

URL
четверг, 10 мая 2018
23:59 О юзабилити
Да, тайна японских чистящих средств в Ашане-то раскрыта! Оказывается Ашан решил перепрофилироваться под более богатых покупателей! Ну-ну.

То-то я смотрю, в Авиапарке поменяли эм... интерфейс. И получилось плохо. Конкретно -- поломана навигация!

Может, это для завлечения покупателей, конечно.

1. Раньше была одна аллея и по обе стороны отделы. Теперь всё расположено квадратно-гнездовым методом. Вметсо операции одномерного поиска теперь надо делать двухмерный!
2. Шрифт в названиях отдела стал хуже различим. Казалось бы -- чёрный на белом, куда уж контрастнее? А вот, толщина шрифта должна быть больше.
3. С названий разделов пропали номера. Раньше это можно было использовать к примеру так: "я стою в отделе 93". А теперь шиш.

@темы: Восприятие, Наблюдения

URL