Source code: All Possible Images

Иногда самые простые программы оказываются самыми запоминающимися. Одной из таких была allPossibleImages — небольшая утилита для BeOS, написанная Дугласом Ирвингом Рипетто и создававшая на экране что-то вроде живого дыхания системы.
Её идея была до смешного проста: программа последовательно перебирала все возможные изображения 8×8 пиксельной матрицы, то есть 18 446 744 073 709 551 616 комбинаций, — и делала это с помощью кода Грея, при котором от одного состояния к следующему изменяется только один пиксель. На экране это выглядело как тихое, медитативное мерцание 64 крошечных светящихся точек. Не хаос, не случайность — а упорядоченное движение внутри бесконечного множества возможностей.

В этом и заключалась магия BeOS: простота, доведённая до совершенства. allPossibleImages не делала ничего «полезного», не потребляла ресурсов, не пыталась впечатлить эффектами. Она просто существовала, — маленькое, почти философское напоминание о том, что между нулём и единицей лежит вся Вселенная состояний.

Многие пользователи BeOS, в том числе и я, держали окно этой программы в углу рабочего стола — как медитативное цифровое дыхание системы.
Но времена идут, и программы для BeOS устаревают. 64-битная Haiku не может запускать программы 32-битной BeOS (32-битная может, но в наши дни использовать 32-битную операционную систему — это моветон). Таким образом, абсолютное большинство пользователей Haiku больше не имеет возможности насладиться тихой, спокойной красотой allPossibleImages.
Но эти дни уже в прошлом!
Несколько дней назад мне не спалось, и я написал реинкарнацию allPossibleImages для Haiku, восстановив справедливость:

Я добавил всё, что помнил из оригинальной программы: код Грэя; 100-миллисекундный цикл увеличения отображаемого числа; Least significant bit в точке с координатами (5, 4) и затем развёртку по часовой стрелке, с 64-м знакоместом, соответствующим точке (1, 1). Я добавлю настройки, позволяющие менять цвета активных и неактивных точек по желанию пользователя, настройку размера точки и, может быть, дам возможность менять размер окна, чтобы было можно отображать не только матрицу 8×8, но и другие размеры. Репликации на десктоп тоже пока ещё нет, но это я сделаю в самом ближайшем будущем.
Так что теперь легендарная allPossibleImages снова сможет вернуться на десктопы пользователей Haiku!
Я связался с автором allPossibleImages, рассказал ему о своём проекте и получил его благословление. Он даже передал мне код allPossibleImages и дал разрешение использовать его по моему усмотрению:

Source code: All Possible Images