The Story Behind It

Once upon a time, in a filled lecture hall, there was a student sitting through an Anthropology lecture. Instead of intently listening to how Mesoamericans transitioned from egalitarian to stratified societies, he was trying to come up with a new way to visualize big sequences of 1's and 0's…

Needless to say, my visualizations have nothing to do with Mesoamerica. One of my main goals was to not have repetitive bits, like '00000', take up excessive space—simply because they're not that interesting. However, I still wanted to be able to see when these repeated sections happen.

How it works

Imagine a small rod of aluminum. Take pliers and bend it a fixed number of degrees at different spots.

101010101000001101

The program I made in Processing does just this. However, instead of using aluminum, it uses colored lines. If a bit is '1', the line is bent down; if a bit is '0', the line is bent up.

How to Interpret

Each visualization starts from a small yellow dot (sometimes it's hard to see). From there, the line gets bent around according to the bits of the sequence.

The color?

Every 8 bits, the color of the line is set to represent the byte that those 8 bits collectively represent (a number from 0 to 255).

  • 0
  • inbetween
  • 255

What do the little nodule-like circles/knots indicate?

Long sequences of repeated ones or zeros

Big tangled sections?

Lots of irregularity in the bit sequence

Future Ideas

Visualization of Complete Hard Drives

I'm really wanting to see how all the bits on my hard drive look, but in order to do that, I'm going to need to let my computer sit unused while the program runs. I'm simply not sure if it's possible for me to handle that…

People talking about it

If you mention it on your website/blog, I'll link you here!

Updates

Oct 8, 2008 – v1.0 – First prototype complete.

Oct 9, 2008 (morning) – First video rendered. I took out all instances of Processing's binary() function and used bitwise operators instead for harvesting bits. It now blazes. Now I just need to allow drawing beyond the Processing window's boundaries.

Oct 9, 2008 (afternoon) – v1.1 – Fixed it so that the rendering area expands when the line reaches the boundary by breaking the space into blocks. A block is only initialized if the line tries to go through it. This way, program isn't allocating memory for all the blank, un-used space.

Oct 11, 2008 – v1.2 – Implemented some crude zooming functionality and released the code & applet.

Oct 15, 2008 – Finished the User Gallery and uploading feature

Oct 21, 2008 – Finally added some links to the "People talking about it" section, as I said I would. Also, I would like to thank the people at ecrans.fr for awarding it the site of the day!

» User Gallery » Make your Own

Order a Bitalizer Poster

» Source Code

Contact me

Feel free to drop me a line at brianreavis@inwo.com. I would love to hear from you.