Swallow, Only Shallow — the tool and the working files (2023–24)
Read on 5 November 2026 from the artist's repository zoomer (the Struggle for Pleasure code; branch master for the pixelator, the later branches for the token viewer) and from his folder of working files for the series. The repository and files are private; this note records what they show. It names no one in the found images: the artist's own file labels are not repeated here.
The wiki reads these findings against Herbert W. Franke's Transformation, Anton Bruckner on Franke × van den Dorpel, under The photograph as data.
The tool: the pixelator
The Struggle for Pleasure repository started on 6 December 2023 as a generator. It subdivides the square by operations such as rotation, mirroring, checks and bricks, chosen by chance (from January 2024 by a Markov chain), and fills each cell with a gradient from a generated palette under a chosen blending mode. On 19 December 2023 the artist replaced all of that, in this repository, with a program that takes a picture instead; the generator went on in a copy. He called the new program the pixelator. Its commits run from 19 to 22 December: "pixelator", "limit resolution", "presentation mode", "more image samples and first step in quadtree", "works", "deploy", "better".
First version (19 December). The picture is drawn into a hidden canvas. The visible canvas is then redrawn at increasing resolution, one level a second: 1 × 1 cells, 2 × 2, 4 × 4 and so on to 1024 × 1024. Each cell gets the average colour of the pixels beneath it.
for (let i = 0; i < 11; i++) {
const resolution = Math.pow(2, i)
...
for (let y = 0; y < resolution; y++)
for (let x = 0; x < resolution; x++)
drawAverageRect(ctx, hiddenCtx, [x * size[0], y * size[1], size[0], size[1]])
await sleep(1000)
}
Quadtree version (20–22 December). The canvas starts as one cell, the average of the whole picture. Every frame the program takes the oldest undivided cells, picks ten of them at random, splits each into four and fills the four with their own averages, down to ten levels of division. The order is close to level by level, with chance deciding which cells of a level go first, so for a while part of the picture is at one resolution and the rest at the next. On each page load it picks one picture at random from a list (sample(filenames)), so one procedure runs over many images.
The pixelator decides nothing about colour. Every value on the canvas is a mean of values in the picture. This is what harm.work means by "instead of making the decisions of which pixel operation to employ, or how to calculate the next colour in a geometric generative fashion, I fed it existing found images."
What became of it. In January 2024 the same averaging quadtree became the viewer for the Struggle for Pleasure tokens: each token's image is revealed by splitting and averaging. That version has six reveal methods, assigned per token: scattered splits, systematic blocks with or without chance, a "CGA" method that takes each cell's first pixel instead of its average, and variants that darken large cells. In the scattered method nine splits in ten go to the newest cell, so the process drills down in one place while others stay coarse. Which version made the February 2024 states of the series is not recorded.
Not in this code: the bands. The committed versions only average, and averaging only smooths. The bands come from wrap-around, applied before the pixelator. In the artist's words (November 2026): "Once a channel of a colour exceeds its maximum value of 255, it overflows to zero again. This is what Herbert did, and also what I did. This is what creates the psychedelic colour banding." A channel that wraps at 255 is counted modulo 256; because red, green and blue wrap at different points, a slope of tone becomes a cycle of hues. He did not know Franke's Bruckner covers when he made the series and found them in November 2026. The repository also contains a sharpening filter (a 3 × 3 kernel, written on 12 December 2023), which no version calls.
The found images
The series' working folder keeps the sources. On 17 December 2023 the artist took eleven screenshots and three short screen recordings of early-1990s footage playing on YouTube: concert films, music videos and television interviews. One recording is crowd footage from a 1993 concert film, the source of Crowd and Crowd II. A music-video frame of a cracked purple desert under an orange sky is the source of Desert Sky. The tool's image folder also holds reproductions of works by Gustave Doré: a Bible engraving of Moses, a vortex of light in clouds, and a painted crowd in a dark valley. The titles A Vale of Tears and Creation of Light point to Doré's painting The Vale of Tears (1883) and his Bible plate The Creation of Light.
From still to work
- Screen capture of a video frame (17 December 2023).
- Wrap-around. Colour values are pushed past 255 and wrap to zero, which makes the bands. One still in the folder, saved on 4 January 2024, is the plain frame with its edges already turned into bands of pink, green and red.
- The pixelator. States were saved from the browser at 8192 pixels on 2 and 3 February 2024, several per work, numbered in order.
- Photoshop. The layered files hold pixel layers with Hue/Saturation and Levels adjustments, and no other kind of adjustment. The colour of each work is a hue rotation and a tonal stretch of the pixelator's output.
- Final files of 5 February 2024. The PNGs of A Man and Blow Out are byte-for-byte the images harm.work serves for the tokens.
Blow Out
The source is a still from a television interview with two musicians: the work takes the man on the left, long-haired and bearded, seen from the front in a printed T-shirt. In the first saved state the picture is a field of blue and violet blocks, large in the background and small around the face, in which the head, the face and the light panel of the shirt print can be read. Later states turn red and then green and blue, and the bands grow denser. The final orange, cyan and lilac are a hue shift of the green and blue state. A second, lighter version of the final file was made in June 2026.
A Man
The earliest version is blue and green, saved under the same name as stills of a singer at a microphone; which frame it comes from is not settled. Four numbered states show the pixelator at work. In the first the standing figure at the right is still a column of coarse coloured blocks while the rest of the picture, bands included, is already fine; by the fourth it is resolved. Their olive, green and violet are a hue shift of the blue and green version.