Colour
Colours are deeply melancholic, and reach beyond language. They touch as directly as scents, which have an almost immediate response in the brain — closely related to how smells evoke memory.
I do not have favourite colours. What produces meaning is colour combinations — strategies in colour production, and the tension between sets of colours. Certain combinations evoke meaning, memory, melancholia.
This page is written in response to questions raised by Carsten Becker as curator and by Qin: do you work with AI?, how do you generate colour?, and a comprehension question on how to imagine generative aesthetics via genetic algorithm. The shape of the page tracks the shape of those questions.
Colour as scent
A smell is always a small set of molecules held in proportion. A single component does not evoke a memory — a combination does. The mind smells the chord before it names anything. The recognition is pre-linguistic; the response is in the body before a word can intervene.
Colour, at the saturations the practice uses, works the same way. The unit on which the body responds is not the single hue but the chord — the relation between values held simultaneously in a finite set. A pure rgb(0, 0, 255) is not on its own melancholic; it is the tension between that blue and a pure green and a magenta and a black-to-white gradient that is. A De Stijl ochre is not on its own warm; it is the relation between that ochre and a slate blue and a brick red that produces the period-feel. Memory and melancholia live in the combination, not in the value.
This is why there are no favourite colours in this practice. Favourites are a single-item attachment; meaning here is relational. There are favourite tensions — recurring chord-shapes that have stayed worth returning to across two decades.
Light in time
On a screen, the only actual material is light over time. There is no pigment, no paper, no chord-of-static-relations sitting on a surface — there are pixels that change. Meaning emerges from the combination of pixels in space and from their changes in time. The chord and its sequence are inseparable; together they are what the medium consists of. A static image on a screen is already a time-event — it is held by a refresh, sustained, redrawn — and any work that takes the screen seriously composes in both dimensions at once.
Two works in the practice make this explicit.
Quantizer uses multiple historical dithering algorithms. Floyd-Steinberg (1975), Atkinson, Sierra3, Jarvis-Judice-Ninke, Stucki — each distributes the quantization error into neighbouring pixels by a different rule. What looks like a static texture is in fact a structural decision about how the error walks through space, and across the work's twelve-second block cadence each algorithm produces a different time-signature in the field. The chord is not the palette alone; it is the palette resolved by a particular dithering rule, running at a particular rate. 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 (→ Quantization).
Stained Unravel makes time-of-colour structural to the palette itself. Each colour in each of the seven palettes is defined not as a single value but as a start-end pair: a cell's chromatic state is its position along a transition from one value to another, governed by how long the cell has held its configuration. The palette is therefore a vocabulary of trajectories. Mother of Pearl's white-aging-to-lavender is not a colour but a duration. Night's coral-aging-to-deep-electric-blue is a sequence. The chord is a chord of paths through colour-space, and what the eye registers is the field of those paths at differing stages of completion. The temporal dimension is no longer an emergent property of the rendering — it is named in the palette definition itself.
In both cases the screen's medium-condition — light over time — is not hidden but made structural. The chord extends in two dimensions: which values are held against each other in space, and how those holdings change. Combinations of pixels-over-time are the actual material of the work.
"Do you work with AI?"
The first question. For colour: mostly no. Combinations are hand-picked or hand-distilled. The Markov's Dream chord was chosen by eye in 2004 (→ Markov's Dream Palette). The seven palettes of Stained Unravel — Spring, Game, Night, De Stijl, Stained, Markov's Dream, Mother of Pearl — are explicitly hand-made, each tied to its title, each balanced as a chord (and as a chord of trajectories — see Light in time above). The 256 historical and named palettes of Quantizer are catalogued and curated. Struggle for Pleasure's 128 tokens were individually colour-balanced by hand.
The one significant exception is Mutant Garden Seeder (2021), where the palette is not hand-picked at all and the algorithm generates colour from a hash-selected colour-space — described under The Seeder counter-case below.
Across the larger practice, AI participates selectively: genetic algorithms and Cartesian Genetic Programming have been load-bearing since Algues Artificielles (2014); LLMs collaborate on this wiki and in Death Imitates Language. The pattern is consistent: AI is given the part of the work that involves combination of forms; taste is given the part that involves selection. Where colour appears, the artist's taste fixes the chromatic combination up front and the algorithm searches over form against that fixed chord.
Generative aesthetics via genetic algorithm — concretely. A population of small programs each produces an image. The artist judges each generation — this one, not that one — and the survivors are crossed and mutated. Over many generations the population drifts toward what the artist finds beautiful, by repeated selection rather than by direct composition. Colour is normally held fixed during this loop, because pre-linguistic affect provides no stable axes for repeated judgment: comparing two compositions is something the eye can articulate consistently across generations; comparing two pure-colour combinations directly is not. Fixing the chord up front lets the GA explore what form can do inside this combination.
How combinations are generated
Five operating modes, all present simultaneously in the catalogue.
1. Hand-picked RGB extremes. The Markov's Dream chord: rgb(0, 0, 255), rgb(0, 255, 0), rgb(255, 0, 255), plus the black-to-white gradient. Three fully saturated primaries plus the greyscale axis — the simplest possible four-element set in RGB space. Picked in 2004; returned to in Markov's Dream (2022), Markov's Window 2023, and Stained Unravel (Markov's Dream) (2026). Twenty-two years of carrying the same tension forward across four generative systems.
2. Hand-made per-work palettes. Stained Unravel runs a single cellular automaton through seven hand-made palettes, each tied to its title (Night on pure black with vivid coral-to-blue and mint-to-red trajectories; De Stijl on warm off-white with desaturated ochres and slate blues; Mother of Pearl on grey with all gradients originating in white, drifting through lavender, cream, blush, and one path to full black). Same rules; seven affective worlds. The palette — defined as a set of start-end trajectories — is the character.
3. Historical hardware palettes — colour as stratum. Quantizer draws on the chromatic signatures of specific moments in personal computing: Apple II, CGA, Commodore 64, Commodore VIC-20, EGA, Game Boy, IntelliVision, Mac Default 16, MSX, RISC OS, Thomson M05, ZX Spectrum. Not nostalgia — strata. When CGA offered four colours, that was a limit; the palette is the trace of an era's hardware constraint. Quantizer holds these strata at once, coextensive in the present of the work but distinct in the time they belong to. Combined with the multi-algorithm dithering, each stratum is held in two senses simultaneously — as a colour set and as a time-signature (→ Quantization).
4. Named emotional palettes — colour as proposition. Alongside the hardware names, Quantizer's taxonomy carries a second register: Loveless, Melancholic, Milieu, Ocean, Ostinato, Overflow, Stochastic Drift, Tibetan. Struggle for Pleasure's colour taxonomy carries a parallel set: tissue, iridescent, lush, washed, melancholic, pastel. When a chord is labelled Melancholic or Tissue or Loveless, the name is not a description — it is a claim that this combination names a feeling.
5. Art-historical palettes — colour as inheritance. Stained Unravel (De Stijl) samples the muted ochres, slate blues, sage greens, and brick reds from Van der Leck and Van Doesburg around 1920 — not abstract primaries but the actual pigment values, with their ageing intact. Markov's Window at the Stedelijk Base sits in conversation with Malevich, Rodchenko, and El Lissitzky — the same intuition about saturated primary chord-relation arrived at by independent reduction a century later.
The Seeder counter-case
Mutant Garden Seeder (2021, 512+1 NFTs with Folia) is the work where palette is not hand-picked at any level of the individual token. The genetic algorithm operates over programs that include colour-generating expressions, and the only preset use of colour is which colour-space those expressions draw from — decided by the on-mint hash, which selects one of three configurations recorded as the Coloring trait (/nft/mutant-garden-seeder/trait/coloring/balanced):
- Balanced (HSLA). Cycling through the hue axis produces continuous gradients; sliding saturation toward zero produces greys. The result reads subtler, moodier — more atmospheric, with a higher chance of muted greys and tonal coherence.
- Contrastful (RGBA). Independent channel values give each component near-0 or near-255 with no axis of correlation. The result reads bright, high-contrast — closer to the Markov's Dream chord than to any continuous gradient.
- Complex (Both). Genomes that mix expressions from both spaces. Tonal continuities from HSLA portions, contrast events from RGBA portions, in the same image.
The trait does not predict beauty; it predicts mood. The same generative system divides its outputs into two distinct affective registers, with Complex as the bridge. Judgment here is exercised once, at the level of system design — deciding that HSLA, RGBA, and both are the three exhaustive options, with the known consequences for affect — and the per-token outcome is delegated to the algorithm. The artist's chromatic choice is visible only across the population, in the fact that the population is partitioned this way at all.
This is the practice's clearest case of delegating colour to the algorithm, and it stands alone. Everywhere else, the chord lives upstream of the algorithm. Here it has been raised one level, and the unit of judgment moves from palette to grammar of combinations — but the unit of meaning, the combination itself, does not change.
The coordinate that underdetermines appearance
An observation Carsten Becker raised in conversation: RGB locates colour in a scientific coordinate system from which no unambiguous appearance can be derived. The practice has two longstanding diagnostics of exactly this gap.
Screen vs. print. The same numerical RGB triple crosses the boundary asymmetrically. The Markov's Dream chord's pure green is unreachable in CMYK; the magenta is native to CMYK and crosses unchanged; the gradient is trivial on screen and requires dithering in print. Four numbers; four different relationships to physical pigment (→ Note 3002).
Cross-browser rendering. The same SVG code, the same RGB instructions — different optical outcome depending on which engine resolves it. The score is fixed; the performance is not (→ Venster — the score / performance distinction).
Both make the same structural point. RGB is a coordinate. The phenomenon it locates is not contained in it. Whatever the chord does on a viewer's body — the scent-like immediacy, the melancholy — escapes the values that name it. And once time is included in the chord (→ Light in time above), the gap widens further: a numerical palette plus a dithering algorithm plus a refresh rate is still not the optical event the viewer receives.
Agent's reading — palette as proposition
The wiki has carried two pulls. Palette is memory — the same four-element chord returning across twenty-two years, the buried continuity below style. Palette is constraint — the chromatic vocabulary of Quantizer inherited from hardware that had no choice; dithering as the technique that managed scarcity. Memory looks backward; constraint looks at the edge of the present possible.
The higher concept that contains both: palette as proposition. A palette is a claim the work makes about a set in tension. The Markov's Dream chord proposes: the tension between these four extremes is sufficient. The CGA palette proposes: the relations possible inside this four-colour stratum are worth holding alongside others. Melancholic and Tissue and Loveless propose feelings produced by relation. Stochastic Drift proposes a process — a wandering through relations.
In every case the unit of the proposition is the combination, never the single colour, and increasingly the proposition is about the combination in time: not only which values are held against each other but how the holding changes — Stained Unravel's start-end pairs, Quantizer's rotation through dithering algorithms across blocks. There are no favourite colours, only favourite tensions, and the tensions extend along the time axis as much as along the spatial-chord axis.
Memory and constraint become two species of the same operation. Each palette is a thesis asserted by the act of finitude: a small set of values chosen, set in tension with one another, and made productive across space and time. Where colour-space is delegated to the algorithm (Mutant Garden Seeder), the proposition moves one level up — the artist proposes a grammar of relations (HSLA chords vs. RGBA chords vs. both) and the on-mint hash draws from it. The unit of judgment changes; the unit of meaning — the combination — does not.
See also
- The Markov's Dream Palette — the four-extreme chord; the screen/print diagnostic; the same combination across four works in twenty-two years
- Quantization and Dithering — Quantizer (2025); hardware palettes as strata; named emotional palettes; multiple historical dithering algorithms as time-signatures
- Stained Unravel — seven hand-made palettes of start-end trajectories; palette as character; time-of-colour structural to the palette
- Struggle for Pleasure — 128 hand-balanced tokens; the tissue / iridescent / washed colour vocabulary
- Venster — the writing — same code, different rendering; the score / performance distinction
- Death Imitates Language — taste as fitness function; AI given combination, judgment given selection
- Mutant Garden Seeder (2021) — the counter-case; colour-space chosen by mint hash; HSLA mood vs. RGBA contrast
- Note 3002 — first-person account of the Markov's Dream chord; CMYK awareness
- Note 581 — Bruner on 7 million discriminable colours and the necessity of categorisation