Ознакомьтесь с нашей политикой обработки персональных данных
  • ↓
  • ↑
  • ⇑
 
22:35 

Junethack 2017: отчёт -- YAAP, YAAP

Уже четвёртый год подряд я участвую в Junethack -- соревнования игроков в NetHack и его форки. Проходят соревнования весь июнь.
О том, что это за игра, неплохо написано (мной) на главной странице сайта nethack-rutext.

(Общее описание)

(О NetHack 3.6.1dev)

(Рассуждения о Рыцаре)

(Описание партии: Kni-Hum-Law-Mal 2017/06/02-2017/06/17)

(Рассуждения об Археологе)

(Описание партии: Arc-Hum-Neu-Mal 2017/06/18-2017/06/30)

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

23:56 

Докажи, что ты не верблюд

Есть два измерительных модуля в одном из приборов, которые мы делаем -- Module1 и Module2. Меряют разные характеристики. Один давление, другой температуру.

Разные экземпляры прибора могут быть укомплектованы разным набором модулей. И вот данный конкретный экземпляр имел только Module2. И его эксплуатировали 4 месяца не включая этот модуль. Но понадобилось включить. И оказалось, что модуль не работает.

Начинаю отлаживать ПО. И вижу картину маслом:

void InitModule2()
{
if(Settings.bModule1Installed==false)
return;
//далее инициализация модуля2
}


То есть: если в приборе НЕ установлен модуль 1 (а он и не был установлен), прекратить инициализацию модуля 2! Модули более-менее независимы. Это меня удивило. Я сделал svn blame. Эта команда позволяет установить, кто является автором каждой строчки кода (и у неё есть синоним -- svn praise, лол). В результате этого я выяснил, что данную строчку написал начальник. Как раз 4 месяца назад. И тогда же обновляли ПО на данном приборе.

Я подумал, может быть в этом есть глубокий смысл? Спросил его. Но оказалось, что это всего-навсего последствия невнимательного копипаста при рефакторинге. В первом модуле текст был правильным. Инициализация отличалась несильно. Поэтому начальник просто скопировал текст инициализации первого модуля и подправил нужные места. Но не все...

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

23:59 

Адресная книга

Обнаружил у себя в закромах родины собственноручно написанный эмулятор калькулятора МК-52 под калькулятор же МК-85. В виде листинга на пяти листах. Написанного от руки.

И вспомнил, как я его писал. Ещё в школе.

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

1 2 В↑ + С/П

Это значит, сложить 1+2 и закончить программу.

А в памяти (и встроенном просмотрщике программы) это отображается так:

50 10 0E 02 01 (читать надо справа налево)

МК-85 более крутой, он поддерживает Бейсик. Писать эмулятор на Бейсике извращение ещё то. Нет, место, где хранить программу в кодах -- есть. Вопрос, как её выполнять?

Допустим, в переменной D хранится код очередной операции. И её надо выполнить. Что же делать?

Логика подсказывает простой дедовский способ:

100 IF D=0 THEN ...
101 IF D=1 THEN ...

И тут меня ждала засада. В двух частях:
1. В МК-85М всего 5317 байт (!) памяти. Да, бейсик представляется в байт-коде, т.е. каждое ключевое слово идёт как 1 байт. Но всё равно памяти мало.
2. Скорость выполнения программ будет просто умопомрачительной, т.к. чтобы выбрать правильное действие, надо пробежать в среднем по половине проверок. А работает калькулятор так, что добавка даже 2-3 строчек, выполняющих простые операции -- заметна.

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

Потом я прочитал интересную вещь. Оказывается в Бейсике МК-85 команды GOTO и GOSUB (подпрограмма) могли принимать не только число. Но и переменную. И даже выражение.

Это и был ключ к тому, как всё уместить в 5317 байт.

100 GOSUB D+1000
//...
1000 (действие1):RETURN
1001 (действие2):RETURN
//и так далее для всех ~200 кодов операций

@темы: Программирование, Говнокод

23:54 

Тыж пациент

У коллеги (A) есть друг (B), а у друга (B) -- жена (C). Они втроём или вчетвером куда-то поехали. А жена (C) работает в банке. И вот она стала коллеге (A) заливать про то, какая у них в банке есть крутая карта -- с двумя счетами. Стала её нахваливать и предлагать взять. Коллега (A) отказался.

Кроме того, друг (B), оказывается, тоже работает в банке. Но в другом. И он тоже (!) предлагал коллеге (A) оформить карту уже ИХ банка (хотя было это в другой раз).

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

За себя скажу -- после нескольких лет преподавания у меня выработался "препод-mode", когда я пытаюсь кому-то всё об'яснить. Но он не включён по-умолчанию. Нужен триггер -- я должен разбираться в теме, а собеседник нет (при этом запрос на помощь со стороны собеседника не обязателен). Это похоже, хотя и не совсем то же самое, на случай с гражданами B и C выше: у них, видимо, режим впаривания банковских карт включён постоянно.

@темы: Восприятие, Мысли

23:46 

РТГ

Ходил часто мимо одного рекламного стенда. А один раз его сняли. Я думал -- о, клёво! (постамент загораживал проход, оставляя только узенькую дорожку) Но уже через пару дней поставили новый -- со светодиодным табло. Ночами слепит страшно (но на яркость ночных светодиодных табло я уже как-то раз тут жаловался). Рядом с ним поставили некую шумящую установку. Из неё выходил резиновый шланг и уходил под землю. Я решил, что так укрепляют фундамент стенда (?! не знаю, как я до этого додумался; в голове что-то было про заморозку плывунов под МГУ специальным оборудованием).

Но прошло две недели, а фундамен был ещё недостаточно крепким. Потом установку заменили на другую. И я наконец догадался прочитать, что на ней написано. "ДИЗЕЛЬ-ГЕНЕРАТОРЫ В АРЕНДУ". То есть, это был движок. Высотой и шириной метр. И длиной -- два. То есть -- мощный. До этого я видел только миниатюрные 0.5 на 0.5 на 0.5. И выходил из него не шланг, а кабель.

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

В общем, мне это не нравится -- дизель-генератор шумит-дымит (хотя это слабо заметно на фоне едущих машин, но всё же), а табло -- слепит. Жесть.

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



Встречали подобные в Москве? Где?

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

23:59 

WONDERLAND DESACRALIZATION

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

Экспонаты расставлены во многих залах. Вот примеры:



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

Я же считаю, что данная выставка очень правильная -- точнее, показательная. Вот это вот бомбление -- признак того, что выставка удалась. Это же троллинг чистой воды. Провокация тех, кто относится к музейным ценностям с излишним пиететом. В музеи надо ходить потому, что в них что-то интересует. Например, тяга к истории. Или к прекрасному. А не потому что это ко-ко-ко-МУЗЕЙ.

Отличный пример постмодернизма и деконструкции.

@темы: Мысли, Выставки, Наблюдения

22:21 

38 попугаев

Папа: Я принёс тебе кусок пиццы!
Я: Только один?! (((
Папа: Ну, можешь разрезать его пополам.

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

22:57 

Как мне помогали вспомнить пароль к московским ГосУслугам

Московские ГосУслуги -- это вам не федеральные.

Чтобы зарегистрироваться в московских ГосУслугах мне даже не понадобилось лично являться в МФЦ. Проблемы начались позже. Когда я забыл пароль.

(эпопея)

@темы: Борьба с техникой, Случай из жизни

23:15 

Под крышей дома твоего

Хотя фотография была сделана и не сегодня, но ливень мне о ней напомнил. Очень удачно я оказался на данной станции МК МЖД в тот раз, чтобы заметить дефект проектирования.


@темы: Ая, Общественный транспорт

23:54 

Катя Коути, Елена Клемм // Страшный дар

Оно же "Жемчуг проклятых".

Я уже читал книги Коути -- раз, два.

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

Книга про викторианскую Англию и про призраков. Практически протагонист -- юная девица 17 лет по имени Агнесс. У неё есть перк -- она видит призраков.

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

Достоинства:
1. Очень смешная.
2. Прописанные характеры персонажей. Я часто пишу, что в книге характеры "прописаны", но как правило у меня не бывает точного определения, что же такого с этими характерами. Тут я явно почувствовал, у кого что. Причём все характеры показаны последовательно, что весьма ценно. Агнесс -- очень крутая девица, которая умело и хитро использует свои маленькие возможности. Джеймс Линден имеет синдром вины экстрасенса ("ах, я накажу себя за то, что я чудовище!"). Леди Мелфорд -- типичная инфантилка. Мистер Хант -- фОшист. Ронан -- горячая голова, горячее сердце и горячие руки: юношеский максимализм.

Блудодейство. Её могло спасти только блудодейство.

@темы: Книги

23:58 

Untitled [488]

Сестра: За что я люблю интернет, так это за то, что он всегда чутко реагирует на происходящие события.
Я: Это пока. А скоро он будет реагировать не только чутко, но и идеологически правильно.

@темы: Мысли, Политика

23:49 

Дом-2

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

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

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

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

Я: Что, любишь смотреть, как животные кормятся?

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

23:58 

Коллекционер стеклотары

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

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

Забиваю в гугл "работа с флеш-памятью stm32". Передо мной появляется 10+ статей (и я наверное напишу ещё одну). Во всех написано примерно одно и то же. Но интересовал меня изначально в статьях строго определённый момент: как определить, где заканчивается прошивка, чтобы использовать под свои данные свободное место?

Но во всех статьях этот вопрос решался одним и тем же образом: предлагалось писать в последние адреса памяти, т.к. там шанс наткнуться на прошивку наименьший! Самоуверенность необыкновенная.

Потом я нашёл одну (!) статью, где интересующий вопрос освещался не с позиции рандома.

@темы: Программирование, Говнокод

23:59 

Коллекционер металлолома

В соседней квартире делают ремонт. В честь этого подвезли контейнер для мусора -- такой, размером с грузовую часть грузовика. Поставили прямо рядом с под'ездом.

А мы решили этим воспользоваться и вынести старую стиральную машину. Эврика-86. 75 кг живого железного веса. Надо сказать, что стиральные машины носить гораздо легче, чем холодильники.

Но любопытно не это, а то, что на следующий день машину из контейнера украли. А остальной мусор остался, как был.

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

23:59 

Коллекционер макулатуры

Газету "Метро" раздают в метро. Бесплатно. Преимущественно это делают старушки. Раздают на входе и на выходе.

И вот одна такая старушка стояла и раздавала газеты. А рядом с ней была стопка этих самых газет.

Мужик, проходя, взял сразу три газеты из стопки. Старушка в тот же момент его схватила и стала на него орать. Потянула на себя газеты, которые он взял. Вырвала у него из рук! Они помялись. В итоге ему было разрешено взять только одну.

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

23:59 

Unitiled [487]

Видел как на детской площадке мама качала на качелях своего ребёнка.

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

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

23:59 

Винтаж

Когда я впервые познал, что такое кастрюля с антипригарным покрытием, передо мной встал вопрос -- чем же мешать содержимое? Металлической ложкой нельзя, т.к. покрытие слетит. Пластиковых нет. Не лопаточкой же для блинов?!

И тут я обнаружил на полке... хохломскую ложку!

В итоге, правда, от неё пришлось отказаться, т.к. стала облупливаться краска...

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

23:59 

Крыса серая, сорок копеек

Последние 20 лет жизни мой дедушка был слепым.

Но научился данному трюку я не от него.

Я знаю не менее двух случаев, когда приходится ходить по лестнице не видя, куда ставишь ногу.
1. Когда читаешь книжку;
2. Когда несёшь перед собой груз.

Боковым зрением-то видно, что лестница начинается, но вот когда и куда надо двигать ногу?

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

Но что делать при спуске вниз? Шаркнуть ногой. Сразу почувствуется пустота начала спуска.

@темы: Лайфхак, Очевидное-невероятное

23:47 

Blame! vol.01-10 (1998-2003) [второе прочтение]

Посмотрев фильм, пошёл вспоминать мангу.

Напишу ещё раз, что это очень классно -- перечитывать Блам!, ничего о нём не помня.

И после второго чтения моё мнение не изменилось: это потрясающе. Стиль, атмосфера, персонажи, сюжет. Это огромный, тщательно проработанный мир. Хотя совершенной данную мангу я назвать всё же не могу: арка с То:а Хэви Индастриз мне показалась чрезвычайно затянута -- но не отсутствием событий, а наоборот -- экшном. Я уже начал думать -- когда же персонажам дадут передохнУть.

Сибо очень красивая.

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

Стою в метро, читаю 3-й том. И тут парень, стоящий рядом, меня спрашивает:
-- Извините, это случайно не Блейм?
-- Да.
-- Круто, в оригинале читаете!
-- Да.

Эй, в моих фантазиях меня про это спрашивала прекрасная незнакомка!

@темы: Манга/Комиксы

23:58 

Автопортрет

Когда люди что-то фотографируют -- это заметно. Они наставляют свой фотик/смартфон на об'ект с'ёмки и прицеливаются.

И вот стою я как-то, как обычно, на остановке. А чел рядом явно куда-то прицелился своим смартфоном. Конкретно -- на дорогу. Дорога пустая. Мне стало интересно, что же он там такое увидел? Может, и мне сфоткать это надо?

Подкрадываюсь к нему и заглядываю в телефон.

У него была включена фронтальная камера.

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

Untitled

главная