All Possible Images

Source code: All Possible Images

GUI of the original allPossibleImages

Sometimes the simplest programs are the most memorable. One such example was allPossibleImages — a small utility for BeOS, written by Douglas Irving Repetto, that created on the screen something like the living breath of the system itself.

Its idea was almost absurdly simple: the program sequentially iterated through all possible images of an 8×8 pixel matrix — that’s 18,446,744,073,709,551,616 combinations — and did so using the Gray code, where each subsequent state differs from the previous one by only a single pixel. On the screen it looked like a quiet, meditative flicker of 64 tiny glowing dots. Not chaos, not randomness — but an orderly movement within an infinite field of possibilities.

Program’s „About” window

That was the magic of BeOS — simplicity brought to perfection. allPossibleImages didn’t do anything „useful”, didn’t consume resources, didn’t try to impress with effects. It simply existed — a small, almost philosophical reminder that between zero and one lies an entire universe of states.

Many BeOS users — myself included — kept the program’s window tucked in the corner of the desktop, like a meditative digital breath of the system.

But time passes, and BeOS programs have grown obsolete. The 64-bit version of Haiku can’t run 32-bit BeOS binaries (the 32-bit one can, but in today’s world, using a 32-bit OS is a faux pas). As a result, the vast majority of Haiku users no longer had the chance to enjoy the quiet, peaceful beauty of allPossibleImages.

But those days are now behind us!

A few nights ago, unable to sleep, I wrote a reincarnation of allPossibleImages for Haiku, restoring justice at last:

My version of All Possible Images

I’ve recreated everything I remembered from the original: Gray code sequencing; a 100-millisecond update interval; the least significant bit mapped to coordinates (5, 4) and the rest laid out clockwise, with the 64th bit corresponding to (1, 1). I plan to add settings that let users customize the colors of active and inactive dots, change dot size, and perhaps even resize the window to allow for other matrix sizes beyond 8×8. Replicant support isn’t there yet — but that’s next on the list.

Here’s how my program looks in action.

So now, the legendary allPossibleImages can once again find its home on Haiku desktops!

I reached out to the original author, Douglas Repetto, told him about my project, and received his blessing. He even shared the original allPossibleImages source code and gave me permission to use it freely as I wish.

Response from Douglas Repetto