Пишу, по большей части, про историю, свою жизнь и немного про программирование. Живу в Казани.

Позднее Ctrl + ↑

«Чёрная курица»

Никак не могу отделаться от мысли, что часть сюжета известной повести «Чёрная курица, или Подземные жители» 1829 года Антоний Погорельский мог подсмотреть у Видока.

Эжен-Франсуа Видок был известным человеком в своё время — один из первых частных детективов и «отец» уголовного розыска в его современном виде.

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

Книга «Чёрная курица, или Подземные жители», Детгиз, Москва—Ленинград, 1945

Думаю, «Чёрную курицу» многие помнят по книге, фильму или мультфильму, а Видока мало кто читал. Вот цитата из книги «Записки Видока» 1828 года:

Смотри не болтай, дочка; у отца есть черная курочка, которая несет ему денежки, но только ночью, и чтобы ее не рассердить, надо подходить к ней с таким же черным лицом, как ее перья. Но осторожно, если ты скажешь хоть слово, черная курица не придет больше.

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

Интересно, искал ли кто-нибудь тут параллели?

Коты и зеркало

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

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

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

Свидетель хвойного экстракта

Люди, заставшие СССР в сознательном возрасте, нередко с большой теплотой вспоминают советский пломбир — говорят, он был какой-то необыкновенный, такой сейчас не делают. Явление настолько распространённое, что таких людей называют «свидетели советского пломбира», иронично намекая на объединяющий эту группу полумистический элитарный опыт, теперь недоступный.

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

Хвойный экстракт, такой же как в моём детстве

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

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

И вот, свершилось! Я нашёл. Купил одну пачку на пробу и уже в пункте выдачи «Озона» по интенсивности запаха понял, — это оно. Если вы, как и я, балдели от того экстракта и не могли его найти, покупайте без сомнений, он ровно такой же, каким я его помню.

«Кальцифер»

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

А недавно сам дал имя измельчителю отходов. Теперь он у нас Кальцифер. Идея пришла, когда я кидал в него скорлупки от яиц — это мне напомнило демона Кальцифера из аниме-фильма «Ходячий замок», который тоже подъедал скорлупки, которые в него кидали при готовке.

Пламя — это демон Кальцифер из аниме-фильма «Ходячий замок»

Очередное бытовое использование 3д-принтера

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

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

Лучше всех подошли самые короткие. Вставил, заклеил всё суперклеем, теперь не развалится!

Три модели одной кнопки, нарисованные в приложении TinkerCAD

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

Интересно, когда я привыкну?

Доктор Чимс и Мистер Доге

Какая-то удивительная штука у меня с организмом происходит. По крайней мере для меня удивительная.

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

При этом, в тепле и комфорте дома я как-то умудряюсь застудиться, а в походах чувствую себя превосходно. Начинаю понимать Федора Конюхова, может у него тоже так же?

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

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

Тестирование на пользователях

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

Считается, что а) это плохо, б) это присуще исключительно айти.

Я не считаю, что это всегда плохо. Для домашних проектов это вообще, как правило, единственный путь — у меня много проектов, которые я делал в одиночку «на коленке» и выложил в общее пользование. Конечно там могут быть баги, я хоть и тестировал их, но не заморачивался прохождением всех сценариев.

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

Тестирование зрительских мест казанского цирка солдатиками

Сфотографировал плакат, на котором рассказывается о нагрузочном тестировании зрительских места казанского цирка солдатами. Можно, конечно, возразить, что солдаты — не пользователи. Но, мне кажется, что это не совсем так.

Тот, кто профессионально занимается тестированием, от пользователя отличается одним фактором — ему платят за нахождение багов, это его работа, он от этого не страдает. Нагрузочное тестирование скамеек не является профессиональной деятельностью солдат, не думаю, что им за это заплатили и они пострадали бы, если бы «нашли баг» — если бы скамейки под ними провалились.

Сломал себе график

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

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

«Виселица» в каталоге программ

Нашу с дочкой игру для «Флиппера Зеро» «Виселица» включили сегодня в каталог программ для этого устройства. А ещё она есть в одной из альтернативных прошивок — от разработчика с ником RogueMaster!

Кстати, я думаю, что Ева является самым молодым соавтором игры для «Флиппера» в мире.

Сегодня приняли нашу с дочкой игру в каталог программ «Флиппера Зеро»

Сжатие инструкций для CFR[]

Выложил свою программу для перевода растра в инструкции для интерпретатора CFR[]. Написана, к слову, на «Гоу». Что-то давно я не программировал на этом языке, вот и решил смазать свежим опытом уже начавшие ржаветь знания.

Самая интересная часть там — про оптимизацию. Из-за наличия цикла для однократного повторения, в который можно что-то вкладывать, программу можно писать сильно по-разному. Можно прямолинейно — FFFFFFFFFFFFFF, а можно упаковать в цикл — [F[FFF]], станет чуть короче.

RR[CF][FF][CCC]CF[F[RRR]]FCC[FF]F[FRR]FFCC[FF][CC][F[RRR]]CC[FF]FF[FRR]F[CC][CF][CCC]CF[FC]C[F[RRR]][FF]FF[CCC][FRR][FCCFF[CCC]][F[RRR]][FF]FF[FRR][FF]FFF

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

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

Мои рассуждения на бумаге по порядку обхода картинки

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

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

Ранее Ctrl + ↓