Tag archives: glitch

Spinning Desktop

Spinning Desktop (by hellocatfood)

Spinning Desktop (by hellocatfood)

Spinning Desktop (by hellocatfood)

The results of trying to take a screenshot using Shutter whilst spinning the desktop. See more on flickr.

Create your own glitch typeface

Making Dataface was really quite an exciting journey. What started off as an attempt to make a typeface inspired by glitch art turned out to be a story of collaboration, exploration and hours of research. Here, I will go through my process.

As you may have seen from my previous experiments in vector databending it’s totally possible to manipulate vector files. My original method for creating Dataface was to save each glyph in the Liberation font to an SVG file and then go through the process of glitching it for each file. Obviously this would’ve taken me a long time, hence why there was very little activity between my original announcement in January and when I started work on it again a few weeks ago.

At this time I thought about writing a script to do this for me. sed is a great command-line utility for Linux that essentially does the same as using find/replace on a character. As it’s command-line it means I can do a lot of automation with it. So, I wrote this simple script that attempted to solve the problem

#!/bin/bash
rand=$(($RANDOM % 9))
sed -i s/[0-9]/$rand/g fontfile.svg

The only problem was that it would replace all numbers in the file with whatever random value was chosen by $rand as the script was executed. Not only is this bad because it would result in a lot of strangely similar glyphs but also because it would modify the header data of the font file, thus rendering it unreadable. I soon remembered that recently the SVG Font specification was finished, which aided my cause by putting all of the glyphs in one big file, but I still couldn’t find a way to efficiently randomise values in the file.

Thankfully fizzPOP came to my rescue. I’m glad that hackerspaces have people with a range of abilities in hardware and software, as I was soon presented with a solution to my problem by GB. After a few revisions he created a script that would replace only specific values in the file and wold even let you specify how much it should be randomised. You can download the finished script and source files and have a go for yourself. Simplified instructions on compiling the script:

  • Unzip the file in a clean folder. This will give you three files:Font_Sample_-_Liberation_Sans.svg, glitch.l and makefile
  • Type “make” into the command line (without the quote)
  • If you haven’t got make, type:
    flex -t glitch.l >glitch.c
    gcc -o glitch glitch.c

in either case, you will get a program called “glitch”.

Please note this has only been tested on Linux, requires Flex (available in the Ubuntu repository) and it is designed to work on SVG font files. I only know FontForge that is able to create these fonts files. To run the script do the following

./glitch 0.50 <fontfile.svg >outputfile.svg

That tells the script to glitch the file by 50%. I have noticed that sometimes you get errors if you put in 1.00 or more.

Once you have generated the file you can import it back into FontForge to save as a .ttf, .otf or whatever font type you choose!

Here’s everyones favourite Comic Sans glitched at 50%

Dataface

After months of hard work I’m happy to finally release Dataface

Click to download

Special thanks go to various hackers at fizzPOP for all of their help, GB for programming help and Scribbleboy for general guidance. You can view of preview of the font here on Flickr.

There will soon be a lovely writeup of how it was done and the tools to use to create your own. Until then, I hope you enjoy Dataface!

A Short Introduction

Since I was introduced glitch art last May I’ve really been hooked on exploring this technique and how it can affect my artwork. One thing that I’ve never done is to explain why I do this, so here it goes!

For me glitch art is about exploring the boundaries in which things will operate as expected, with particular emphasis on computers. Computers are very complex and can take years to understand understand. Computers are also very obedient. They will do what you tell them to, but you have to tell them in a way that they understand. For example, it is assumed that if you double-click on an image it will open in an image viewer or editor. This is because the image has data in it (the header data) describing what kind of file it is and when you double-click on it an instruction is sent to open that kind of file with any program that can interpret it that data.

But then, what about if we fooled the computer into thinking it is opening one type of file, when in fact it is another. For example, what if we added the header data of an image file to an mp3 file and then tried to edit it in an image editor? The output is usually a burst of colourful pixels. Whilst we may perceive the output as an error and instantly discard it the computer is not as judgmental. It is devoid of emotion and doesn’t question actions and will do what we tell it to do, and so will happily do this with any data that it has been instructed to interpret

Why would one want to do all of this? Think of the computer as a world of its own, or the human body. All of the underlying code and hardware relies on each other for it to operate successfully. Should one part become damaged it can sometimes be fatal, but often the overall ability to operate is hampered. How far can I push a piece of hardware or software before it either breaks itself or the whole computer? You can easily relate this to athletes who constantly put their bodies through hours of physically demanding activity in order to push the boundaries in which their bodies will operate. In either case, at what point will you reach the limits?

More importantly, what can be discovered by doing all of this? New, hidden abilities that we didn’t know our computers had, improved performance, increased knowledge of how things work, a new form of art, or something else? Well, that’s what I want to find out.

Dataface update

Dataface is coming along rather nicely!

Dataface (by hellocatfood)

It looks different from my previous updates as I’m using a different method for glitching the typeface. This may change yet again if a script that I’m working on decides to work.

  • Archives

    • 2010 (41)
    • 2009 (61)
    • 2008 (171)
    • 2007 (6)
    • 2005 (5)