February 10, 2014

An example of Macroblock Artifacts produced by Databending JPGs.

Prepared for my online course on Skillshare: 

Glitch Art - Creating Design from Error: Databending Basics

Learn the basics of databending, familiarize yourself with the art and artifacts of working with different file formats, create stunning glitched GIFs.

Signup today by clicking the link above and receive 50% off enrollment.

December 30, 2012

365 of 366

Processing + JPGs

Cycling through values of bytes 0x37, 0x7E and 0x011D using sinusoidal functions.

December 29, 2012
364 of 366
Processing + JPGs
Randomly varying byte 0x37 and byte 0xCD.  Animating the usable frames.

364 of 366

Processing + JPGs

Randomly varying byte 0x37 and byte 0xCD.  Animating the usable frames.

December 28, 2012

363 of 366

Processing + JPGs

Combining manipulations on bytes 0x37 and 0x011D

December 27, 2012
362 of 366
Processing + JPGs
Cycling through values of byte 0xC7 gave the frames of the animation above, as well as loads of files that Processing refused to load.

362 of 366

Processing + JPGs

Cycling through values of byte 0xC7 gave the frames of the animation above, as well as loads of files that Processing refused to load.

December 26, 2012
361 of 366
Processing + JPGs
Byte number 55 or 0x37 of a 640x480 JPG encoded at the highest quality using GIMP was sequentially stepped through all possible values.  This is a snip of 25 of those values.
Thanks to Ted Davis for insight into the technique of tinkering with JPG Huffman encoding tables.  This manipulation is performed on the first byte in the luminance tables.

361 of 366

Processing + JPGs

Byte number 55 or 0x37 of a 640x480 JPG encoded at the highest quality using GIMP was sequentially stepped through all possible values.  This is a snip of 25 of those values.

Thanks to Ted Davis for insight into the technique of tinkering with JPG Huffman encoding tables.  This manipulation is performed on the first byte in the luminance tables.

December 25, 2012
360 of 366
Processing + JPGs
After meeting Ted Davis (FFD8) and attending his panel with Paul Hertz at Gli.tc/h in Chicago earlier this month, I decided that I should get over my personal aversion to programming.
Using Processing, I’ve written a primitive (and probably poorly structured) program that will enable me to go through a file byte by byte and sequentially change the value of a particular byte.
The GIF above started as a JPG.  By stepping byte number 0xC4 (or the 196th byte in the file) through values 128 through 220, the alignment of the image raster was thrown askew.
Writing a program to proceduralize the restructuring of data doesn’t seem antithetical to the glitch ethos.  Though, somehow there’s a line that is crossed once that code becomes packaged and sold, used only for a particular effect, rather than extended further.  At that point, the process seems little different from the ritualized produce/consume (prosume) paradigm established by large “productivity” software firms.  For me, anyways, glitch has been about skirting the usual channels of productivity.  Creating your own tools is part of that.
Processing code

360 of 366

Processing + JPGs

After meeting Ted Davis (FFD8) and attending his panel with Paul Hertz at Gli.tc/h in Chicago earlier this month, I decided that I should get over my personal aversion to programming.

Using Processing, I’ve written a primitive (and probably poorly structured) program that will enable me to go through a file byte by byte and sequentially change the value of a particular byte.

The GIF above started as a JPG. By stepping byte number 0xC4 (or the 196th byte in the file) through values 128 through 220, the alignment of the image raster was thrown askew.

Writing a program to proceduralize the restructuring of data doesn’t seem antithetical to the glitch ethos. Though, somehow there’s a line that is crossed once that code becomes packaged and sold, used only for a particular effect, rather than extended further. At that point, the process seems little different from the ritualized produce/consume (prosume) paradigm established by large “productivity” software firms. For me, anyways, glitch has been about skirting the usual channels of productivity. Creating your own tools is part of that.

Processing code

April 5, 2012

096 of 366

One Character Databend Studies

256x256 pixel cropped images produced by changing only one hex character in a white JPG file.  Oftentimes the change amounts to the flipping of a single bit, as in 00 to 01.

April 2, 2012

093 of 366

File Format Studies (JPG - word replacement)

Whole blocks of 4 8bit words were replaced throughout a 4000x3000px white JPG.  For example, replace all A0 02 8A 28 with FA DE DE AD.

March 28, 2012

088 of 366

Macroblock Study 6

Color study using 8x8 macroblock artifacts induced after databending Post number 38 by replacing all “a” characters with “>” and then opening it in GIMP.

March 27, 2012

087 of 366

Macroblock Study 6

Color and pattern study using 8x8 macroblock artifacts induced after databending Post number 38 by replacing all “a” characters with “>” and then opening it in GIMP.

March 26, 2012

086 of 366

Macroblock Study 6

Interesting things (is that a TIE fighter?) found after databending Post number 38, replacing all “a” characters with “>” and then opening it in GIMP.

March 25, 2012

085 of 366

Macroblock Study 6

Interesting things (faces?) found after databending Post number 38, replacing all “a” characters with “>” and then opening it in GIMP.

What would be great is to find the code/equations used to represent these in the JPEG format.

March 24, 2012

084 of 366

Macroblock Study 6

Interesting things found after databending Post number 38, replacing all “a” characters with “>” and then opening it in GIMP.

March 23, 2012

083 of 366

Macroblock Study 6

Interesting things found after databending Post number 38, replacing all “a” characters with “>” and then opening it in GIMP.