From "Hello, World!" sequence From "Hello, World!" sequence From "Hello, World!" sequence
From a “Hello, World!” sequence

Light Pattern

a programming language

Source Code
A sequence of photographs
Reads
Changes in brightness, contrast and dominant color from one image to the next
Base
Ternary: three trits per change of frame
Implementations
Python: rottytooth/LightPatternPy on GitHub
.NET Framework (original version): rottytooth/LightPattern on GitHub
Author
Daniel Temkin
Year
2012, 2025
License
Creative Commons Attribution 4.0

Light Pattern, like other programming languages, is a list of rules, a grammar to communicate with a compiler. In Light Pattern, this communication happens through source code made up of photographs. Instead of using words to communicate to the machine, it uses changes in brightness, contrast and color from one image to the next.

Brightness 0 darker
Contrast 1 same contrast
Color 2 next color
012 → NOPno operation
One instruction, read from the change between two photos. Each trit is 2 if that quality went up, 1 if it stayed the same, 0 if it went down; for color, 2 is a step forward from red to green to blue, 0 a step back. See The Null Program.

Source excerpt

Here is an excerpt of a program that writes "Hello, World!" to the screen. The same subject was used, so that changes in color and exposure are made more clear visually. It was written in the original version of Light Pattern, which read each photo's shutter speed and aperture from its metadata in place of the brightness and contrast of the image itself:

branford-rocks-107.jpg … branford-rocks-118.jpg

See more Hello, World programs →

Recipes & the machine

Light Pattern can be used to create any simple program. The language is unusual in that it's nearly impossible to write the same program exactly the same way more than once; even when the program functions identically, the photos that make up the source code will be different every time a program is constructed. The programmatic recipes are strategies for pairing programs and images that relate in some way. They are patterns to construct programs repeatedly, exploring the same theme with differing images.

Writing complex or lengthy Light Pattern programs can be difficult. So there is also a machine that takes the photos to write a program automatically.

My writing on Light Pattern

Press