V - A letter is an idea


Every digital object is just compressed data that comes to represent an image, video, file, protocol, model, or word. In the end, everything is just numbers. 

The nice thing about everything being just numbers is that they are manipulatable in byzantine and bizarre ways. Unlike a physical object which we can only interact with through its material surface, thinking about our digital objects as data lets us interact with them through the entirety of their material.

Obviously, digital space wasn’t the first place this happened. An easy analog is textiles, which bear a lot of similarity to the ways we construct digital images. They both share a use of the pixel grid and an algorithmic construction. When you get a knitting pattern or a weaving off this pattern, it shifts the image in strange and unexpected ways. This is because the instructions are encoded, and followed step-by-step- much like many file encoding schemes. 

Much like textiles, artists who exploit glitches lean into software’s failure to fully fail- an ambivalence about errors that is exploitable. These artists often design processes that introduce noisy data in algorithmically supervised ways, tipping just just enough that they spiral out of control.

There are lots of types of glitches that take advantage of data mutability but data bending is particularly useful when talking about text. Data bending is the act of manipulating data files by opening a file of one type in a program designed to open another file (opening a jpeg in a text application, opening a video in audio processing software, etc). 

You can open any ol’ file in a text editor. Go head- try it. You can download this image if you want to experiment. If you’re on a Mac, right click on the file and open it in Text Edit. If you’re on Windows, you can do the same in Notepad. 

You’ll see something like this:
Remember from before that every textual character has a numerical and binary value. ‘A’ is ‘65’. ‘A’ is also the binary code 01000001. This is true of every character, even ones that have incredibly large values! This means that you can compress an image file (fundamentally binary, like all things on computers) by encoding it in plaintext. The first bit of this text - which probably includes some human-readable bits - is the header, which is what tells your computer how to decode this specific file format. You don’t want to edit the header, as it can make your file unreadable. (Depending on file format, you may wish to also leave the last few lines, the footer.) However, otherwise you are free to move through this text, delete sections, copy and paste bits around, change letters, insert paragraphs from your favorite book, find and replace numbers - however you might manipulate a text file. You generally want to save between each edit, and preview the file to see how it has changed - and backtrack if it breaks outright. Here is a glitch I achieved by removing a few thousand characters from the middle of the file:
Original: Glitched:
There are thousands of encodings and filetypes. They all have different ways of dealing with data, and all produce different kinds of results when they are handed non-standard data. You just have to figure out a way to get them that weird info in a way that will make something interesting, not just a total failure or a fully corrupted file that won’t open. A 3d model '.obj' file is an interesting example, because the text of the file is merely a series of positional arguments for faces and vertex points. For example, this cube: Is made of text that looks like this, when opened in a text editor:
(If you want to test this, you can copy and paste that text into a text program and save it as 'cube.obj' and then open it on your desktop- it should open as a 3d model!) Because all of this text is directly editable, you can change these numerical arguments to change the shape of your 3d model. I searched every 0 and replaced it with a 9 to created the altered model below. (This is also what V Buckenham and I used to create our project Views on an object.) (If all of this is interesting, may I suggest some additional reading: on databending, on PNG glitches, general resources, and some additional tutorials.) The most permissive data type is ‘.raw’, which doesn’t use compression at all. This means that you can move information from plaintext to its image representation in a 1:1 ratio. You can actually just render text characters as pixels on a screen. You can type in the textbox below, and it will render the text to the pixel canvas in real time. You can also draw on the canvas and it will render as text!
This is exactly what happens every time we edit any type of file on a computer. The characters that make up that file transform to reflect our changes. When we apply a blur filter in Photoshop, or add an echo in Audacity, or bold text in Notepad, the file's structures are being changed internally to reflect the choice we have made. In this way, as we interact with our machines, we interact with a history of encoding that is as old as human writing itself. VI - Credits.