Вчера потребовалось решить довольно простую, как мне казалось, логико-комбинаторно-механическую задачу: поменять код на обычном кодовом механическом замке в подъезде, вот таком:
Я не знал его внутреннего устройства, но подумал, что пары отверток и моего высшего технического образования должно хватить для решения такой несложной задачи и поэтому даже не стал искать инструкцию по смене кода в Сети, как обычно делаю в случае решения каких-то новых для меня задач.
Конструкция действительно оказалась простая: 10 кнопок-цифр, каждая "кодируется" плоской вертикальной пластинкой, которая в одном положении "включает" цифру в код открывания, а будучи перевернутой на 180 градусов - "выключает".
Первая моя ошибка - я не обратил внимание на индикатор положения пластинки - срезанный уголок. Вторая - обратил внимание на то, что обломалась одна возвратная пружинка под одной из цифр старого кода, но не придал этому должного внимания.
Первый шаг был простой: перевернул пластинки старого кода - "выключил" их, перевернул пластинки нового когда - "включил". Вроде работает, но нестабильно. Сначала несколько раз замок срабатывает, а потом перестает. Странно. Хорошо что я был не один, т.к. открыть не сработавший замок, естественно, можно только изнутри подъезда.
Делаю первый неверный вывод: раз замок работает, но нестабильно, значит что-то где-то заедает. Возможно, неиспользуемые кнопки просто слегка заржавели. Смазываю весь замок. Не помогает. Начинаю пробовать самые разные комбинации из трех букв из трех цифр. Не помогает. Начинаю напрягаться. Понимаю, что запутался в цифрах, решаю привести замок к первоначальному заведомо работающему коду. К этому моменту я уже заметил срезанный уголок у пластинок, поэтому просто переворачиваю все пластинки срезом в одну сторону и выставляю старый код. Не работает. Инвертирую все пластинки. Не работает! Я начинаю нервничать, т.к. совсем неработающий замок на подъезде значительно хуже работающего, но со старым кодом.
Понимаю, что конструкция замка простая, ничего поломать я не мог, значит я просто что-то не понимаю. Но как раз простота конструкции и не оставляла особых вариантов для того, что же именно я не понимаю? Время идет, я начинаю замерзать, пальцы уже плохо шевелятся, замок не работает, в голове крутятся разные мысли на тему "инициатива наказуема" и "благими намерениями... ".
И тут мой напарник делает гениальное предположение: а что если пластинки в исходном "выключенном" положении должны стоять не одинаково? И тут я начинаю понимать, что моя компьютерная логика не всегда бывает применима для реальных механических объектов. Для меня в моем программистком сознании все цифры кода по определению одинаковы, они просто не могут быть разными, поэтому мысль о том, что исходное положение пластинок может быть различным просто не приходила мне в голову. Хотя задним числом я понимаю, что если бы я включил механическое мышление, то эта идея оказалось бы логичной, т.к. кнопки расположены в два ряда, зеркально симметрично относительно засова замка.
Ура! Замок удалось привести к первоначально работающему коду, т.е. свести задачу к исходной. Т.к. теперь принцип расположения пластинок был ясен, казалось, что дело за малым. Меняю код, все 3 цифры. Хотел поставить 4, но брать 4-х кнопочный аккорд уже просто неудобно. И снова возникает странная ситуация. Замок срабатывает только один раз. Т.е. я меняю код, закрываю дверь. Первый раз замок срабатывает, дверь открывается. А потом - нет, на повторные нажатия верного кода замок просто не реагирует. Меняю код - тоже самое. Один раз срабатывает и замолкает. Я начинаю понимать, что меня уже просто клинит.
И вот когда я уже решаю сдаться и оставить все как есть, мой напарник делает второе гениальное предположение: а не является ли причиной такого странного поведения замка обломанная пружинка под одной из цифр старого кода? И в этот момент у меня в голове возникает сразу несколько мыслей одновременно:
1) я окончательно понимаю в чем проблема,
2) я еще больше осознаю, что моя чистая абстрактная логика не сработала для очень простого, но механического объекта,
3) я думаю, куда бы мне подальше засунуть свой диплом чтобы не позориться?
Итог сей истории: 1,5 часа потраченного времени и полное разочарование в своих логико-аналитических способностях и высшем техническом образовании.
Как жить дальше просто не знаю. :)))