zHz00 Untitled

воскресенье, 03 июля 2022
05:10 Сыр всё ещё не завезли
Посылаю устройству запросы -- получаю ответы. Завёл статистику, чтобы следить, успеваю я все данные выгрести, которые устройство генерирует, или нет.

Результат оказался плачевным. Устройство отвечает почти ровно на половину запросов, а на остальное не отвечает. На осциллографе диаграмма тоже как-то странно выглядит -- вроде ответы есть, но один ответ длинный, а другой -- короткий.

Поставил точку остановки на место, где генерируется ошибка "нет ответа", и посмотрел, что пришло. Оказалось, что ответ прекрасно пришёл, но в нём написано, что длина поля данных составляет 0 байт. То есть, я выгребал слишком быстро.

А такой вариант я не предусмотрел. Первичная проверка целостности у меня делалась по длине пакета. И минимальная возможная длина соответствовала одному входящему значению. Если длина меньше, пакет считался заведомо неполным! А зря.

Я уменьшил возможную длину пакета, а также ввёл дополнительный статус, кроме "пакет неполный", "сумма не совпадает" и "пакет полный". Теперь пакет может быть "полный, но пустой".

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

URL
суббота, 02 июля 2022
02:53 NetHack: когда не дают спокойно почитать
Junethack закончился. Подробный отчёт я напишу позже, пока я хотел бы рассказать об инциденте, произошедшем почти в конце катки, которую я играл весь месяц. Видео этого инцидента можно увидеть в телеграме ( t.me/zHz_Untitled/4344 )

Как известно, для того, чтобы пройти нетхак, надобно найти Амулет Йендора. Но сделать это не так-то просто. Если обыскать всё подземелье, его там не будет. Секрет в том, что ниже последнего уровня подземелья расположен ещё один, тайный уровень. Там расположен Санктум, храм бога Молоха. И в этом-то храме Амулет Йендора и лежит (в инвентаре священника).

Уровень секретный, просто так туда не попасть. Надо провести определённую последовательность действий, которая называется Ритуал Вызова (invocation ritual). Для него нужно иметь три предмета: колокол открытия, канделябр и Книгу Мёртвых. Эти уникальные предметы расположены в разных частях игры.

Я проводил ритуал много раз, поэтому не ожидал каких-либо проблем. Я зажёг канделябр, позвонил в колокольчик и начал декламировать Книгу Мёртвых. В этот момент из-за угла вышел демон-марилит (шестирукий). Он выстрелил в меня из палочки и сказал:

Hold! Thy face is a most exquisite torture!
(Остановись! Твоё лицо -- это самая изощрённая пытка!)

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

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

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

You have a feeling that something is amiss... You raised the dead!
(Кажется, что-то пошло не так... Вы призвали нежить!)

Вокруг меня образовалось 10 мобов. Почему же это случилось? У меня был однажды такой случай. Это произошло, когда Книга Мёртвых была проклятой. Снять проклятие проблемой не было. Проблемой было избавиться от всех этих мобов. Сражаться с ними мне было неинтересно, да и некогда, поскольку я уже убил Волшебника Йендора (Wizard of Yendor), а это значило, что он может явиться по мою душу в любой момент до конца игры (и этого мне только не хватало).

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

Итак, надо снять проклятие с Книги Мёртвых. Я окунул её в святую воду, и обнаружил, что у меня теперь blessed Book of the Dead. Святая вода увеличивает святость только на одну градацию, а их три. Blessed -- высшая. Это значит, что Книга Мёртвых НЕ была проклятой. Она была uncursed. В чём же была проблема? И тут я понял. Звон колокола открытия действует всего несколько ходов (и, кстати, я не знаю, сколько). Позвонил я в него ещё до схватки с марилитами. К моменту, когда я начал читать книгу второй раз, эффект колокола больше не был в силе, а значит из трёх компонентов, необходимых для призыва, действовали только два -- книга и канделябр.

Ооокеей, я ещё раз позвонил в колокол, а потом начал читать книгу. С третьего раза ритуал получился. Передо мной открылась лестница в Санктум...

@темы: Фейлы, NetHack

URL
пятница, 01 июля 2022
06:02 Борьба с душем: какую ручку крутить?
Я обнаружил, что если я хочу воду погорячее, то бесполезно увеличивать горячую воду. Надо уменьшить холодную! Почему так происходит? Потому что при смешении горячий кран открыт гораздо больше, чем холодный. Из-за этого увеличение/уменьшение на абсолютную величину потока холодной воды вызывает более серьёзное изменение доли холодной воды в смеси, а значит и более серьёзное изменение температуры.

Покажем это. С отображением формул туговато, поэтому как есть.

У нас есть школьная формула количества теплоты при нагреве предмета: Q=c*m*(T2-T1), где c -- теплоёмкость, m -- масса, которую грели, а T1, T2 -- температура массы до и после нагрева. Надо это как-то привести к энергиям.

Для демонстрации я буду использовать конкретные значения, чтобы всё удобно сокращалось, а не решать задачу в общем виде.

Итак, предположим, что из обоих кранов течёт горячая вода, но разной температуры. Из горячего крана течёт вода на 2T градусов больше, чем комнатная, а из холодного -- на 1T больше. Горячий кран открыт так, что из него вытекает 10 условных масс за секунду, а из холодного только 3 массы.

Тогда чтобы получить горячую воду за секунду, на теплостанции потратили Q1=c*10m*2T.
А чтобы получить холодную, потратили Q2=c*3m*T

Энергия у нас сохраняется, поэтому смесь вод будет иметь энергию нагрева Q1+Q2=c*13m*Tx, где Tx -- температура воды после смешения.

Сокращаем всё лишнее, получаем Tx=23/13*T или примерно 1.76T

Теперь начинаем крутить ручки.

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

c*11m*2T+c*3m*T=c*14m*Tx
Или Tx=25/14*T, т.е. примерно 1.78T

А если уменьшить холодную на одну условную массу?

c*10m*2T+c*2m*T=c*12m*Tx
Tx=22/12*T=1.83T

Вот и ответ. Подкручивание горячей ручки дало прибавку всего на 1%, в то время как подкручивание холодной ручки дало прибавку на целых 4%! Хотя процентами тут считать неправильно, температура-то не абсолютная.


@темы: Лайфхак, Наблюдения

URL
четверг, 30 июня 2022
04:50 Моральный закон над головой
Выезжал со второстепенной -- движение плотное. Никак вклиниться не могу. Наконец один добрый человек пропустил.

Выехал я, а мама говорит -- высади меня на остановке.

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

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

URL
среда, 29 июня 2022
06:18 Про эксель
Эксель -- очень интересная программа, полезная для "грязной и быстрой" обработки данных (и много чего ещё).

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

Открываешь гугл, пишешь "excel how to". И, набрав первые буквы, обнаруживаешь, что ты не одинок! Все ищут ответы на одни и те же вопросы.

С одной стороны, это радует. Это даёт некое чувство единения. (хотя зачем оно нужно применительно к экселю?)
А с другой стороны это означает, что в экселе очень много проблем, раз людям приходится всё время искать одно и то же.

Так вот, чтобы эксель не превращал разные необычные строки в даты, надо первым символом в ячейке указать апостроф (').

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

URL
вторник, 28 июня 2022
02:56 Китайская пытка
Если вы проснулись от звука капель, то не надейтесь, что пошёл дождь. Это сосед сверху включил кондиционер.

***

Все пишут про жару, а она всего второй день.

Иду по улице -- кап, кап. Блин, задолбало!
Прихожу домой -- за окном кап, кап. ААААА! Сколько можно!

Включаю кондиционер.

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

URL
понедельник, 27 июня 2022
03:45 Дай мне знак
Я представлял себе, что такое CRC, но когда понадобилось вычислить его самому, оказалось, что представлял я слишком туманно. CRC -- один из видов контрольных сумм (хэшей) часто используемый для проверки целостности данных.

Оказалось, что црц даже одинакового размера (CRC-8, 16, 32) могут иметь разные параметры, поэтому надо точно знать, какой алгоритм применяется. Разнообразие можно оценить тут: crccalc.com/

К счастью, добрые люди уже написали функцию подсчёта нужного мне црц, поэтому я просто сунул её к себе в код. Тип входных данных там использовался -- UCHAR. В стандартной библиотеке такого типа нет, но по названию было понятно, что это, наверное, синоним для unsigned char. У меня же все данные традиционно были обычными (signed) char. Ну я посмотрел в код, там вроде используются только побитовые операции. А им всё равно, знаковое число или беззнаковое. Сделаю-ка для однообразия вместо UCHAR обычный (signed) char.

Сделал. Не работает.

После того, как я когда-то несколько раз выстрелил себе в ногу, налепив где не надо unsigned, я решил, что по умолчанию лучше всегда использовать signed. Но теперь случилась ситуация, когда решение использовать signed было ошибочным. В чём же была проблема?

В моей невнимательности. Исходный код содержал в себе не только побитовые операции. Там была такая, например, строчка:

iIndex = ucCRCLo ^ *( pData++ );

Где же использовался этот индекс далее? Он использовался при индексации массива, содержащего подготовленные промежуточные данные. Массив имел размер 256 байт и индексы от 0 до 255. Очевидно, что при работе с unsigned char iIndex будет как раз иметь нужный диапазон индексов. Но при работе с signed char... результат тоже будет знаковый. То есть -- от -128 до +127.

Я выходил за границы массива и что-то там шуровал.

@темы: Программирование, Фейлы

URL
воскресенье, 26 июня 2022
05:19 Enlarge your penis
Меня, кстати, спросили, что это вообще за телеграм премиум, и что значит. Телеграм премиум сводится к двум вещам:
-- вам увеличивают число смайликов и
-- вам увеличивают технические ограничения типа числа категорий чатов (folders), числа публичных каналов, которые могут быть на вас записаны, и т.п.
За деньги, разумеется.

И вот ещё одно наблюдение про телеграм премиум.

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

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

Нечто похожее присутствует и в случае телеграм премиум.

Как известно, с технической точки зрения сообщение с прикреплённой картинкой не является обычным текстовым сообщением. Это именно сообщение-картинка (альбом), и у него есть "заголовок" (подпись). Размер этой подписи сильно ограничен. Если размер обычного сообщения может достигать 4000 символов, то размер подписи под картинкой может составлять всего 1000 символов. Раньше в этот лимит можно было легко упереться, внезапно обнаружив, что символы перестают вводиться.

Как вы уже догадались, телеграм премиум позволяет увеличить размер подписи в два раза. Так что же, если у вас не куплен премиум, вы будете упираться в 1000 символов, как раньше?

Нет. Вам дадут ввести до 2000 символов. Но при попытке отправки вы получите сообщение: "размер подписи превышен на Х символов". И две кнопки: "окей" и "купить премиум". Ну, хорошо хоть мне пишут, на сколько символов превышено. Однако об этом можно узнать только при нажатии на кнопку "отправить". Текущего счётчика символов нет. Сиди вот и подбирай длину.

Ну-ну.

@темы: Борьба с техникой, Telegram, Наблюдения

URL
суббота, 25 июня 2022
05:09 Довгань-сигареты
Устаревший способ прокрутки новостных и иных подобных сайтов -- постраничная. Долистал до конца -- нажал "следующая".

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

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

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

URL
пятница, 24 июня 2022
05:23 Эрик Сати, домой иди
Водил маму на обследование в специальную клинику. Клиника частная, но ограниченно принимает по ОМС.

Так вот, клиника настолько частная, что на первом этаже при входе сидит женщина с арфой и играет. Постоянно.

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

URL
четверг, 23 июня 2022
04:25 Windows Genuine Advantage
Чем продолжится, и чем кончится история с Телеграм Премиум -- пока неясно.

По этому вопросу я хочу пока прокомментировать только один момент. Спонсоры получают в профиле звёздочку. Звёздочка неотключаемая.

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

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

Пример я могу привести очень старый, с такого сайта, как nnm-club. Там те, которые поддерживали трекер деньгами, получали лычку "Меценат". И одна знакомая, будучи спонсором, была этим очень недовольна. Почему -- она не сказала. Она вышла на связь с администрацией, и ей, в качестве исключения, лычку убрали.

Такие дела.

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

URL
среда, 22 июня 2022
01:41 Как я сломал руку: подробности
Можно ли написать десять страниц текста про две секунды? Можно, если ты графоман.

Но этому тексту здесь не место. Место ему совсем в другом месте. Поэтому привожу только ссылки:

t.me/horseswtf/52 -- философское эссе "Верховая езда и риск"
telegra.ph/Kak-ya-slomal-ruku-predystoriya-05-2... -- заметки о той лошади, с которой я упал
telegra.ph/Kak-ya-slomal-ruku-ehkshon-i-analiz-... -- технический пост, непосредственно описывающий падение и посещение травмпункта.

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

URL
вторник, 21 июня 2022
04:31 Вырезано в камне
Начальник говорит: Надо сделать поддержку устройства Х.
Я спрашиваю: А вы можете обещать, что нам не придётся подключать ДВА таких устройства?

И уже бывало, что даже если начальник обещает, то через пару лет оказывается, что это всё-таки нужно.

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

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

Несмотря на это, у меня всё равно бывают места, которые захардкожены. Увы.

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

URL
понедельник, 20 июня 2022
01:24 Роберт Сапольски // Биология поведения человека (курс лекций)
Роберт Сапольски -- главный спонсор моих завтраков, обедов и ужинов с апреля месяца. Мытьё посуды, кулинария -- всё также принадлежит ему.

www.youtube.com/watch?v=ik9t96SMtB0&list=PL8YZy...

Это 27 лекций по 1-1.5 часа.

После этого курса вы перестанете верить:
-- в бога
-- в магию
-- в любовь
-- в свободу воли

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

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

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

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

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

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

@темы: Кино/Мультфильмы

URL
воскресенье, 19 июня 2022
04:59 Я и моя сраная кошка
Шумный мужик в метро ехал в бухой компании. Рядом ехал бомж, спал.

Мужик попросил своих спутников о чём-то. После чего его стали фотографировать с этим бомжом, а он стал позировать.

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

URL
суббота, 18 июня 2022
03:15 Чижика, собаку, обезьяну, попугая
Когда я был в командировке в Ростове-на-Дону, я как-то раз ехал на электричке вдоль реки. А река там большая -- Дон. По ней ходят корабли. У некоторых смешные названия типа "Механик Петухов". И вот я еду на электричке мимо одного такого корабля. На нём несколько огромных вертикальных цистерн. На каждой по надписи, но я пока вижу только одну:

НЕ

Я думаю: ого, гелий перевозят! И тут вижу следующую цистерну:

ОП

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

Потом я вижу остальные цистерны. И вот что получается:

ОГ НЕ ОП АС НО

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

URL
пятница, 17 июня 2022
01:23 Я -- даос, и не имею головы
Чувак с работы, которого я теперь буду называть тут Владимир, захотел себе собрать домой десктоп. Спрашивает, чё как. Как компоненты выбирать?

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

Я вздохнул с облегчением -- подбирал ему я невнимательно, и особо указал, чтобы он мою сборку проверил у нашего специалиста по подбору компонентов (честно говоря, я не знаю, почему он сразу к нему не обратился). А если Владимир всё поменял, то я типа буду не при чём, если что-то будет не так.

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

ОКАЗАЛОСЬ

что Владимир выбрал процессор без видеоядра (у интела такие процессоры заканчиваются на F). И не купил видеокарту.

Но этот пост не о том, что Владимир -- лох. Я открыл список тех компонентов, что подобрал я и... та-дам! В том списке процессор тоже был без видеоядра. А видеокарту я ему не выбирал, потому что рассчитывал на встроенное видеоядро.

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

@темы: Фейлы, Борьба с техникой

URL
четверг, 16 июня 2022
05:16 Тяжёлый это хорошо
Разводной ключ -- инструмент очень крутой, но в машине кроме него я держу и набор обычных тоже. В результате, как правило, разводной ключ я применяю, когда нужны два ключа одинакового размера.

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

1. Разводные ключи толще обычных, поэтому в некоторые места становится сложно подлезть.
2. Разводные ключи, блин, всё время болтаются! Ты только настроил размер, покрутил -- и уже хуже работает. Начинаешь подстраивать -- а он не лезет.

Meh

@темы: Очевидное-невероятное

URL
среда, 15 июня 2022
03:41 Наш компьютер
Уже не первый раз встречаю такую ситуацию, но данный инцидент мне показался достаточно ярким.

У меня неоднозначное отношение к автоматическому обновлению ПО, да и к обновлению ПО вообще. Сейчас же я наблюдаю ситуации, когда ПО меняет поведение НЕ проводя обновления. Вариантов тут может быть несколько:
1. Функционал был уже заложен, а активировался по внешней команде.
2. Обновление происходит без моего ведома.
3. Часть ПО всегда работает на сервере, поэтому модификация серверной части приводит к модификации поведения клиентской.

Все варианты мне не нравятся.

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

И тут вдруг около недели назад а) все логины на компах у меня вылетели б) после перелогина вотсапп стал работать независимо от телефонов, причём на всех компах сразу, без переключения.

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

***

Ну и вот. Теперь я не в курсе, когда у телефона батарейка садится, потому что ВотсАпп работает всегда. Вот уж не думал, что буду недоволен тем, чего сам давно хотел.

@темы: Борьба с техникой

URL
вторник, 14 июня 2022
04:49 Я и есть Пальяччи
Уже третью ночь подряд с 4 до 6 кто-то во дворе раз в две минуты кричит: "Игоооорь!"

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

URL