H

Quantizer

Collection: harm.work/nft/quantizer · Verse SOLOS exhibition: verse.works/exhibitions/quantizer · See ingested source: sources/ingested/verse-quantizer-exhibition.md

Every twelve seconds, a new composition is seeded directly from Ethereum block hashes, synchronising viewers worldwide in a shared visual experience. The work's deliberate instability and absence of memory reflect Harm's broader artistic philosophy, highlighting the inherent impermanence and poetic potential of generative digital art.

This page is the canonical home for Quantizer as a work. For the broader theme of quantization and dithering as an artistic operation, see Quantization and Dithering.


Collection


The mechanism

Each token receives a fixed grammar of shapes and rules at mint — a parameter set the token will carry for the lifetime of the work. From there, the live image is generated continuously: every Ethereum block (~12 seconds) the latest block hash is read as a seed, and a new composition is rendered from the grammar against that seed.

The system has no memory. Each composition is fully determined by the current block hash and the token's grammar; no prior state is carried forward. This is structurally a Markov process — see Randomness and Pattern for the parent-conditional Markov-chain mechanism shared with Anicca and the plotter drawings.

Because the block hash is the same for every viewer of every token at any given moment, all collectors see the same composition simultaneously, anywhere in the world. The blockchain functions as a global synchronisation clock; the twelve-second block interval is the temporal grain of the work.

Gaussian noise and dithering smooth the transitions between compositions so the eye perceives fluid continuity despite the underlying memorylessness.

Quantizer #066
Quantizer #066 (2025) — each composition is a function of the current Ethereum block hash and the token's mint-time grammar; no prior state is carried forward

Compositional vocabulary

The grammar of shapes draws on a vocabulary of twenty-four root trait values: Array, Block 9, Bricks, Checks, Circle, Circle 8, Double, Edge, Flower, Japan, Lozenge (see The Lozenge), Mandala (see Sacred Geometry), Margin, Pointing Inwards, Portal, Quad, Raster, Ring, Rotate, Split, Split Rotate, Star, Thangka, and Tibetan.

Generative parameters operating across this vocabulary include maxDepth (1–8) for recursion limit, colour seeds, noise values (1–20), overlay frequencies, and gradient intensities.


Dithering algorithms

Colour quantization in Quantizer is paired with classical error-diffusion dithering. Each algorithm distributes the quantization error into neighbouring pixels by a different rule, and at the twelve-second block cadence each produces a different temporal signature in the field. Algorithms used in the work:

Euclidean vs. Manhattan

Before the kernel distributes any error, the algorithm has to decide which palette entry is closest to the current source pixel. The two variants disagree about what "closest" means when colours are treated as positions in space.

Think of every colour as a point in an imaginary cube with three axes: red, green, blue. The current pixel is one point in that cube, and each palette colour is another. The algorithm picks the palette point closest to the pixel — but there are two ways to measure that distance.

The two metrics agree when one colour differs from another along a single axis only. They disagree when the difference is spread across two or three axes. A small step in red, a small step in green, and a small step in blue add up to a longer Manhattan walk than the straight-line Euclidean cut — even though both arrive at the same point.

The practical consequence: Euclidean tends to pick palette colours whose error is spread evenly across the three channels; Manhattan tends to pick palette colours whose error concentrates in one channel. With the same palette and the same Fan kernel, the two variants therefore map source pixels to different palette entries, and the error each is asked to propagate is different from the first pixel onward. The surfaces they produce are visibly distinct. They are not a speed/quality tradeoff — both are valid quantizations that read as different textures.

Holding multiple algorithms inside one work is the same gesture as holding multiple palettes — different ways of producing combinations in time. The palette and the dithering algorithm together constitute the unit of meaning (→ Colour).


Palettes

The palettes in Quantizer fall into two registers held simultaneously: historical hardware palettes — the chromatic signatures of specific 1980s–90s personal computers — and named emotional palettes that propose a feeling through a chord of values. The hardware palettes are not nostalgic quotation but strata of computational history (see Quantization for the strata argument).

Each palette name below links to its trait page on harm.work, where every token using that palette can be browsed.

Custom 1 — 10 colours

CGA — 16 colours

The original IBM CGA 16-colour palette (1981).

CGA (high) — 4 colours

The CGA high-intensity 4-colour mode.

EGA (high) — 4 colours

Cyan / magenta / black / white from the Enhanced Graphics Adapter.

EGA (low) — 4 colours

The darker EGA quartet.

Apple II — 15 colours

The Apple II lores palette (1977).

Mac Default 16 — 16 colours

The default 16-colour Macintosh palette.

Microsoft Windows — 17 colours

The Windows default 17-colour palette.

Commodore 64 — 16 colours

The Commodore 64 palette (1982).

Commodore 64 (no black) — 15 colours

The C64 palette with pure black removed.

Commodore VIC-20 — 16 colours

The earlier VIC-20 palette (1980).

ZX Spectrum — 15 colours

The Sinclair ZX Spectrum palette (1982).

Explorer (ZX Spectrum) — fighting with flying robotic bug
Explorer (ZX Spectrum) screenshot: fighting with flying robotic bug. Source: MobyGames.

MSX — 15 colours

The MSX 15-colour palette (1983).

MSX Screen 2 parrot test
MSX1 (Screen 2 mode) parrot test image: salmon reds, mustard tan, three greens, and the characteristic muted-violet — the same three-greens-plus-warm-coral chord the Quantizer MSX palette carries. Source: Wikimedia Commons.

Thomson M05 — 16 colours

The French Thomson MO5 palette (1984).

RISC OS — 16 colours

The RISC OS default desktop palette (Acorn, 1987).

Gameboy (simulated) — 4 colours

The four green tones of the original Game Boy DMG screen (1989).

IntelliVision — 16 colours

The Mattel IntelliVision palette (1979).

Magnavox Odessy 2 — 16 colours

The Magnavox Odyssey² / Philips Videopac palette (1978). Note: the trait URL preserves the source spelling Odessy.

Fairchild Channel F — 8 colours

The first cartridge-based home console — Fairchild Channel F (1976).

RGB — 5 colours

The three pure additive primaries plus black and white — the irreducible RGB chord.

RGB (no black) — 4 colours

Monochrome — 6 colours

Near-grey scale with a slight warm tint at the high end.

Named emotional palettes

Alongside the hardware register, Quantizer carries a second vocabulary in which the palette name proposes a feeling rather than identifying a device. See Colour (palette as proposition) for the structural argument.

Loveless — 9 colours

After My Bloody Valentine's Loveless (1991) — bruised pinks and reds, pulled directly from the saturated magenta-and-orange wash of the album cover (a motion-blurred Jazzmaster guitar in feedback colour).

My Bloody Valentine — Loveless cover
My Bloody Valentine, Loveless (1991) — album cover. The bruised pink-and-orange wash on the sleeve is the source chord.

Melancholic — 7 colours

Tibetan — 8 colours

Saturated reds, yellows, ultramarines — the chromatic register of Tibetan thangka.

Ocean — 6 colours

Ostinato — 5 colours

After the musical ostinato — the repeating motif.

Overflow — 8 colours

Stochastic Drift — 11 colours

After Sam Barker's Stochastic Drift — the palette as a name for a process: a wandering through saturated relations. The chord is pulled directly from the album cover (a faceted polyhedron sliced into coloured triangular faces against black), and the palette name preserves the album title.

Barker — Stochastic Drift cover
Barker, Stochastic Drift — album cover. The palette is transposed directly from the faceted polyhedron on the sleeve.

Milieu — 8 colours

Named after the ambient musician Milieu (Brian Grainger), whose long-running Vibratelepathic Antiviral Broadcast series on the Vibra Telepathos label uses a consistent visual register that this palette distils. (Source data carries one out-of-range channel value at index 2; rendered here clamped to the standard 0–255 range.)

Milieu 2 — 7 colours

Distilled from a single specific Milieu release: Vibratelepathic Antiviral Broadcast 47 — pale yellow ground, mustard, three blues, a grey disc. Where the Milieu palette above is pulled from the visual register of the series as a whole, Milieu 2 is pulled from one cover.

Milieu — Vibratelepathic Antiviral Broadcast 47 cover
Milieu, Vibratelepathic Antiviral Broadcast 47 — the single cover from which the Milieu 2 palette is distilled.

Custom 2 — 5 colours


Sand mandalas and "the permanence of change"

The Verse exhibition text frames Quantizer's temporal logic against the Tibetan sand mandala — an intricate composition built over days or weeks, then ritually destroyed. The destruction is not loss but the acknowledgement of impermanence. Quantizer performs this continuously, every twelve seconds:

The most interesting aspect of generative digital art is that it is inherently unstable and ever changing. This is a quality I want to retain, so I resist arriving at immutable outputs.

To collect Quantizer is to hold a position in perpetual transformation. The work lives as a single web page that can be acquired but not fixed. Each block hash produces a composition that will never recur. See Protocol, Taste, and Systems (permanence of change) and Senescenence (temporary negotiations with impermanence).

Quantizer #208
Quantizer #208 (2025) — each composition is unique and unrepeatable; the work refuses fixity

Predecessor: Anicca

Anicca (2025) is named the first algorithmic mandala in the practice by the Murayama Q&A — predating Quantizer and using the same parent-conditional Markov-chain construction (symmetrical subdivision driven by stochastic descent through an inheritance graph). The Pali term anicca names "the absence of permanence and continuity," making it the direct semantic complement to Quantizer's permanence-of-change. Both works are about the impermanence of the composition: Anicca states it in Buddhist vocabulary, Quantizer enacts it through blockchain time.

The trait taxonomy of Quantizer — explicitly naming tibetan, thangka, mandala — confirms that the mandala vocabulary is structural, not interpretive overlay. See Mandala Q&A — Goro Murayama for the full mechanism.


Plotter outputs

Three works in the Cloud Writings (2026) exhibition are plotter drawings produced directly from Quantizer outputs — the relay digital protocol → software output → mechanical drawing → physical object:

The quantized, dithered digital image becomes ink on paper. The constraint of the historical palette becomes a plotter line.


Exhibition

Quantizer exhibition view
Quantizer (2025) — exhibition view, Verse SOLOS

Verse SOLOS, August 2025 — Harm van den Dorpel's second exhibition with the programme, following Struggle for Pleasure (2024).

From the journal


See also