Категория: Неопубликованное

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

Универсал

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

Нашёл ещё пять производителей.
Следующий по цене – wotte. Это тоже завод Универсал. Просто под другим именем.

Ладно, взял самый дорогой бренд. Это вроде самостоятельный бренд. Выбрал какую-то ванну. Наложил схему на схему старой советской, чтобы понять, чем по форме отличается.
Ничем.
Схемы совпадают один в один. Это тоже завод Универсал, просто замаскировавшийся. И с тремя слоями европейского лака.
Чугун возить дорого.

К сожалению, мы во вселенной не одни

Фильм-катастрофа из единственной фразы: К сожалению, мы во вселенной не одни.

Хоррор: Земляне… Кажется, мы во вселенной не одни…

Романтика: Не одни мы во вселенной одни!

Вопрос на тройку

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

Да, очень сложно, но за это и награда.

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

Если вы её не решили, так в чём ваш результат? Любой может кого-то обвинить и набросать того, что несложно. В общем-то, все так и делают.

"Ты ключи под фонарём потерял?" "Нет, вон там в темноте" "А зачем под фонарём ищешь?" "Так там не видно ничего, как там искать!"

Не доказал, но сделал всё возможное и этого достаточно – это какой-то образ мыслей Марии-Антуанетты. "Но я сделала всё, что могла, и мне уже хочется торта! Должна же я как-то получить торт! Нельзя же требовать, чтобы я неделю ради торта работала! Это слишком сложно".

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

О ретконе v1

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

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

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

Сколько я расставался с людьми, у меня такого не было. Однажды я понял, что близкому другу стало на меня плевать, и когда он оскорбил меня, я попрощался и больше с ним не разговаривал. Я знаю, что он был прекрасным другом, он симпатичный человек, и одно время этой дружбе рады были мы оба. Мне очень жалко, что я это потерял. Но что я мог сделать?

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

Образ друга или любимой в голове сложены из памяти. Они хранят всё за многие годы. Когда рассудок спрашивает себя: люблю ли я этого человека? То память подсказывает: конечно! Вот ты любил её, вот ты делал для неё, вот сколько ты думал о ней.
Или рассудок спрашивает: любит ли она меня? И память говорит: да как же может не любить! Ты помнишь, как она тебя слушала, смеялась над твоими шутками? Что было потом это пустяки, сложи всё с прежними чувствами! Поэтому трудно поверить, что тебя разлюбили.

Образ сложен из памяти, но чувства – сегодняшние.
Сегодня и сейчас разлюбивший парень, разлюбившая девушка, забивший на тебя друг не хотят быть с тобой. Они не хотят в глубине души. Это видно в их действиях. Они не думают о тебе, не волнуются за твоё отношение, не стремятся быть с тобой, не боятся тебя потерять. Ты не радость для них.
Но когда они спрашивают себя: люблю ли я этого человека? То память отвечает: конечно! Вот сколько вы друг другу сделали. И они продолжают думать, что любят. (До какого-то момента, конечно)

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

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

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

То есть, настоящие мотивы у людей совсем не такие, в каких они отдают себе отчёт.

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

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

…кратковременность лета,
краткость жизни, мгновенность искусства
и ничтожность предмета,
что вызвал высокие чувства.

ずる じる

Очевидная грамматика, но запишу.

Бывают глаголы, сделанные из онного чтения + する. Обычно оно превращается в ずる: 通ずる. И обычно у таких глаголов есть версия с じる вместо ずる (通じる). Это одно и то же. Какая распространённей – дело случая.

Возвратные глаголы к ним делаются по очевидным правилам. В первом случае する -> される, а ずる – ざれる (通ざれる)! Во втором じる -> じられる (通じられる).

О программировании

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

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

Из этого заблуждения возникает архитектурная астронавтика и боязнь хардкода. "Что, если эти обстоятельства изменятся? А если эти? А те?" Такой образ мыслей существует до тех пор, пока человек замечает обстоятельства избирательно; пока он не окинет свой код взглядом и не увидит, что всё в нём – это обстоятельства. Программа это закодированное условие, ограничение на полный произвол. Делая её "универсальнее", вы убираете часть условий, перекладываете их на плечи пользователя.

Например, вы пишете интерфейс доступа к базе данных. Ваша цель конкретна: каталог фильмов, режиссёров, актёров. Что сделает начинающий программист? Запросы "getMovie", "getActor", "getDirector" и так далее.
Но это неуниверсально! Что, если завтра в базе появятся книги? Другой программист предлагает: сделаем "getWork", "getPerson", у work будет параметр type (movie, book), а person будет по отношению к work иметь relation (актёр, режиссёр, автор книги).
Хорошая это идея? Ну, нормальная. Реализовывать её сложнее. Пользоваться ей сложнее! API слегка неочевиднее. Но действительно, очень полезно для расширения.
Третий программист говорит: Кто знает этих заказчиков! Сегодня они хотят одни поля, а завтра другие. Предлагаю сделать ещё универсальнее: getTable(name), getRecord(table, index), getField(record, index). Обратите внимание, какая универсальность! Мы можем хранить внутри таблицы фильмов и актёров, а можем автобусов и маршрутов. Мы можем хранить данные на сервере, а можем кешировать локально. Может прозрачно вводить любые отношения и ограничения!

Но этот универсальный интерфейс по сути не предоставляет никакого интерфейса. Вся сложность, все обстоятельства задачи легли на плечи пользователя. Универсальный интерфейс стал просто интерфейсом доступа к базе данных.
Архитектурным астронавтам это в голову не приходит, но ведь можно пойти ещё дальше. Кто сказал, что нам нужны таблицы и поля? А если завтра это изменится? Можно предоставить интерфейс "readBytes()" или "executeCode()". В таком случае пользователь может сам написать любой код, который будет работать с любыми данными, как ему вздумается!

Колхозная доктрина:
https://eax.me/kolkhoz-doctrine/

Открытый закрытый

В спортивном комплексе на Семёновской есть открытый бассейн и несколько закрытых. Однажды на двери открытого повесили объявление:

"Открытый бассейн временно закрыт, для желающих открыт закрытый бассейн".

Это уже достаточно всех запутало. Но пришёл сентябрь и касса закрытого тоже закрылась:

"Касса временно не работает. Билеты приобретайте в здании открытого бассейна"

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

Когда же приходишь за билетами, то выясняется, что по вечерам в закрытом бассейне теперь тренируются спортсмены олимпийского резерва, а поскольку меня можно считать олимпийским резервом лишь в том смысле, в каком является резервом неприкосновенный запас коровьих туш, хранящихся с 1960-х где-то на ледниках на случай голода и войны, то мне пришлось заниматься в 25-метровом!

С тех пор открытый бассейн снова открыли.

Экономика бесконечной разработки

Вот есть какое-нибудь Яндекс.Метро. Простое приложение для расчёта поездки. В последнее время оно показывает много рекламы. Понятно, почему: разработчикам надо платить. Поддержка на Google Play так и пишет: "благодаря рекламе оно продолжает жить и развиваться".

Сколько приложению нужно денег? Начнём с одного разработчика в месяц. Пусть даже он получает 300 тысяч. Или их несколько, но получают меньше, или работают не полную ставку. Неважно. Приложение установлено 150 тысяч раз, будем считать, 100 тысяч им пользуются. С каждого надо в месяц получить три рубля.
Нельзя ли вместо рекламы оплатить разработку прямо? Сколько это будет стоит? За год – 3*12=36 рублей + процент гугла = 50. Немного, но ощутимо каждый год, если таких приложений много.
А одной ставкой на 300 тысяч наверняка дело не обходится.

И тут возникает вопрос. А собственно, чем занимаются эти одна-две-три ставки на 300 тысяч? И нужно ли мне это?

Если подумать, мои интересы обычно противоположны. Я не хочу, чтобы приложение "развивалось". "Развитие" большинства приложений приносит мне только досаду и утрату привычных функций. Например, от Яндекс.Метро мне больше ничего не нужно. Я бы хотел, чтобы оно оставалось таким, какое есть. И я не хотел бы смотреть рекламу или каждый год платить за него. Удивительно, как эти интересы совпадают, и противоположны тому, что пользователь якобы должен хотеть!

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

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

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

Два монаха в одну ночь

В ведьмаке была героиня Кейра Мец, жила в домике на краю болота. Потом по сюжету уехала. Домик стоит пустой, дверь нараспашку.
Был сейчас в другом краю мира, изучал консольные команды, которыми можно спавнить персонажей. Все персонажи появляются и стоят без движения, взаимодействовать нельзя. Заспавнил Кейру Мец, вдруг смотрю, с ней можно разговаривать. Обратился к ней.
Кейра говорит: "Геральт! Так рада тебя видеть". И мы совершенно в другом месте, горит огонь, Кейра сидит за столом. С ней можно говорить на множество тем. Я закрыл диалог, оглядываюсь, а мы в этом домике на краю болота!
Оглядываюсь назад, а Кейры нет. Горит огонь, стул пустой, домик покинутый, дверь нараспашку.
Так чувствуют себя те, кому что-то мерещится.

NB: Два монаха в одну ночь

Сила рекламы

В центре Москвы открылось новое кафе где-то во дворах. Чтобы привлечь посетителей, они выставили на людной улице человека, который зазывает:
Ресторан Байкал приглашает посетить наше заведение! На все блюда сегодня скидка: 30 процентов!

Зазывает громко, хорошо. Уже пару месяцев (при переписывании поста – почти год!) я хожу мимо этого места и слышу это постоянно. Я хорошо запомнил, что:
1. В ресторане Байкал мало посетителей.
2. Их цены завышены на 30%.

К сожалению, я так и не знаю:
1. Чем в этом ресторане кормят.
2. Где этот ресторан.

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

P.S. Спустя год мне стало, наконец, ясно, где находится ресторан Байкал. Это произошо когда они повесили вывеску.
P.P.S. Спустя десять лет я это уже не помню!