Christianity on the Edge of History

Поскольку же об изыскательских талантах Ипатова известно, что он всегда находит то, что желает, и при этом известно, что методы поиска у него далеки от научных, – я предпочитаю не впечатляться результатами его «экспертиз».

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

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

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

Разница в том, что, когда мы читаем текст, мы обращаем внимание только на темные значки – буквы. Пробелы между буквами для нас не несут никакой информации. Но не так воспринимает штрих-код компьютер (для которого, собственно, штрих-код и предназначен). В магазине кассир проводит по товарному штрих-коду сканером, который испускает тонкий лазерный лучик шириной в четверть миллиметра. Датчик сканера при этом реагирует на ответный сигнал: если луч попадает на черную полосу, то свет полностью поглощается, назад в сканер отраженный свет не поступает, и тогда компьютер прочитывает это молчание как "1". Если же луч нащупывает светлую полосу незакрашенной бумаги, пробел, то свет отражается полностью, возвращается в сканер, и датчик реагирует – прочитывая полученную информацию как "0". Собственно, только эти два знака и существуют для компьютера. Основу компьютерного языка составляет так называемый «двоичный код»: все свои операции компьютер осуществляет через различное чередование импульсов, означающих или 1 или 0. Это значит, что в штрих-коде для компьютера значимы не только линии, но и пробелы, интервалы между ними.

Так вот, цифра шесть кодируется следующим чередованием знаков: 1010000 (штрих-пробел-штрих-пробел-пробел-пробел-пробел). Другие варианты, предусмотренные ГОСТом: 0000101 или 0101111 (в последнем случае на этикетке над цифрой 6 мы видим толстую сплошную черную полосу). В любом случае для штрихового начертания цифры 6 требуется нанести 7 знаков (две черты, плюс пять пробелов, разделяющих эти черты между собою и отделяющие их от соседних цифр). Это значит, что для прочтения числа 6 компьютер должен получить серию импульсов от 7 знаков (модулей). А ограничительные линии, в которых обычно и видят тайные шестерки, состоят всего лишь из трех знаков: штрих-пробел-штрих (101), то есть менее чем наполовину соответствуют той комбинации, которая обозначает 6.

Эти линии не что иное, как просто выключатель. Это простейшая комбинация символов (1-0-1), которые подсказывают сканеру, где пора начинать работу, а где пора выключаться. Эти линии в начале и в конце кода нужны для синхронизации считывающего сканера. Для сканера задается эталон того, какую толщину имеет тонкая линия. Ведь в самом деле никак нельзя отличить тонкую линию от толстой (от двух тонких), если не известна толщина одной тонкой. И как узнать какова толщина одного пробела? Именно для этого нужна эта комбинация вначале. Теперь зачем она в конце. Дело в том, что человек, проводя сканером по штрих-коду может сделать это с разной скоростью – быстрее или медленнее. Соответственно сканер «видит» эти линии по разному. Если человек проводит быстро – то и сканер «видит» черные и белые полосы меньшее время. Таким образом, они как бы становятся для него уже. И наоборот. Но человек не может провести сканером абсолютно равномерно – с постоянной скоростью. Например может случиться, что скорость движения руки вначале штрих-кода была меньше, а к концу возросла. Тогда получится, что линии в конце кода покажутся сканеру более тонкими и например толстая линия может распознаться тонкой, т. к. сканер не знает о истинной ее толщине, а оценивает ее посредством того времени, которое датчик «видит» черную полосу. При помощи комбинации 101 в конце кода сканер оценивает как изменилась скорость движения сканера по линиям кода и, если движение было неравномерным, в принципе может сделать поправку и рассчитать какой скорость была в середине и т. д. Кроме того, эта комбинация выделяет начало и конец штрих-кода. Таким образом, эта комбинация цифрой не является, а предназначена для обеспечения надежного считывания. А то, что она входит в число 6 – это только совпадение. Кроме того, комбинация 101 входит и в написание таких цифр, как 3 и 5 (которые отличаются друг от друга комбинацией пробелов вокруг этих линий).

Итак, ограничительные линии не есть «шестерки»; а потому говорить, что ограничительные линии «похожи на шестерку» – все равно, что говорить, будто начертание цифры 5 похоже на шестерку, и потому число 555 тоже является сатанинским. Буква б тоже похоже на цифру 6. Но это не значит, что если в строчке трижды встречается буква б, то эту строчку стоит вымарывать как «сатанинскую»… А если в цифре 8 подтереть одну из линий – она станет шестеркой. Такими «подтираниями» и «дописываниями» можно любой знак переделать в искомый символ и сделать из мухи слона. Вот как это делает, например, петербуржский священник Геннадий Емельянов: «Штрих-код содержит в себе число 666, хотя и утверждают, что сканер это число не считывает. И, действительно, если мы возьмем и подвергнем сканированию любой штрих-код, числа 666 мы там не найдем, но интересно то, что если наложенную информацию стереть, то в основе будут лежать голые три шестерки, которые сканер уже способен прочесть»[210].

Когда говорят, что штрих-код плох тем, что в нем содержатся знаки, графически похожие на шестерки, это означает, что люди хотят придумать себе предмет страха. Ведь штрих-коды предназначены не для человеческого восприятия, а для компьютерного считывания. Это означает, что знаки одного языка пробуют воспринимать по законам другого языка. А ведь так можно счесть всех китайцев матерщинниками – ибо они нередко произносят слоги, которые для русского уха кажутся оскорбительными. Да, оградительные штрихи начертаны так же, как и шестерки. Но, во-первых, чтобы заметить это сходство, нужно приложить усилия по изучению символики штрих-кода (чего обычный покупатель не делает). Во-вторых, если уж за это изучение браться всерьез, то станет понятно, что пробелы в этой азбуке тоже являются буквами, а вот как раз по числу пробелов оградительные символы все же отличаются от цифровых. Кроме того, такая постановка проблемы означает, что отношение к штрих-кодам уже целиком зависит не от символики самих кодов, а от готовности относящегося акцентировать внимание на этом «графическом сходстве» или же игнорировать его или даже просто – со знанием дела – отрицать.

В науке же принято считать доказанной лишь ту точку зрения, которая смогла ответить на все недоумения и возражения оппонентов. Утверждение, что разделительные линии идентичны «шестерке», все же не отвечает на ряд вопросов. Один из них: разделительные линии не подписаны арабскими, «человеческими» цифрами. Если сканер у кассира выходит из строя, или линии штрих-кода загрязнены, кассир просто от руки набирает на своем кассовом компьютере тот набор цифр, который подписан под штрих-кодом. Поскольку под разделительными линиями никаких значков нет, то и кассир просто пропускает эти линии. Если же у них есть цифровое значение, то тогда те данные, что компьютер получит в результате ручного ввода цифр, окажутся совершенно отличными от тех данных, которые он получил бы, если бы сам сканировал и распознавал штрих-код. Но разные входные данные порождали бы разнобой в итоговых результатах – чего составители программы, конечно, не допустили бы (ибо тогда был бы невозможен точный учет проданных товаров). Для компьютера, оказывается, все равно – прочел ли он сам код, или получил его от кассирши, которая опустила пресловутые три шестерки. Идентичность результата означает идентичность и поступившей в компьютер информации. И, значит, разделительные линии не несут никакой цифровой информации. И, значит, компьютер как-то различает разделительные линии от тех групп линий, которые имеют цифровое значение. Как он это делает? Нет ответа на этот вопрос…

Предположение о тождественности разделительных линий шестеркам нарушает и основную аксиому кодирования информации: любой код (перевод) должен быть обратим. Если мы поставим вместо разделительных линий те комбинации штрихов и пробелов, что обозначают шестерки – будет ли работать такой код? – Нет![211]

Это вопрос тем более значимый, что штрих-код действительно содержит в себе тайный знак, сокрытый от непосвященных – это последняя его цифра. Она служит своего рода «паролем», который мешает подделать штрих-код и написать в нем цифры в произвольном порядке. Все цифры штрих-кода по определенным правилам должны быть вовлечены в некоторые арифметические операции с ними – чтобы в сумме получилась последняя из цифр. Но если разделительные линии компьютер читает как шестерки, то в этом случае у него никак не может получиться та же итоговая сумма, которая выходит, если в него последовательность цифр загружается вручную – кассиршей, не учитывающей «шестерки».

Второй вопрос, на который штрихофобы не дают ответа – это вопрос о том, зачем вообще нужны пробелы до начала первого штриха знака и после окончания последнего штриха[212]. Если они ничего не значат (а только при их наличии разделительные штрихи тождественны шестеркам), то отчего же все цифры кодируются с помощью именно 7 модулей и зачем тогда нужны крайние пробелы? Почему тогда разнится число пробелов между последним штрихом, которым кончается одна цифра и первым штрихом, с которого начинается следующая цифра штрих-кода? Почему число пробелов между цифрами разное, если число этих пробелов ничего не значит? А именно это тезис – о не-значимости пробелов лежит в основе экспертиз, находящих число зверя в штрих-коде. И на этот вопрос я пока не слышал ответа… А именно этот тезис о не-значимости пробелов лежит в основе экспертиз, находящих число 666 в штрих-коде.

Вот и Алексей Ипатов опубликовал только вывод из своей «экспертизы», но не опубликовал саму экспертизу, то есть те пути, коими он пришел к своим выводам: в ключевом пункте о наличии сатанинского числа в штрих-коде он без всяких доказательств просто повторил домысел других «наших экспертов» из «Русского вестника» о том, что «количество пробелов не существенно»[213].