A sample text widget
Etiam pulvinar consectetur dolor sed malesuada. Ut convallis
euismod dolor nec pretium. Nunc ut tristique massa.
Nam sodales mi vitae dolor ullamcorper et vulputate enim accumsan.
Morbi orci magna, tincidunt vitae molestie nec, molestie at mi. Nulla nulla lorem,
suscipit in posuere in, interdum non magna.

CLick here to expand all course descriptions
By Aaron Sherwood, on December 4th, 2012
I know several people have written about this book (Code) already. I started and stopped several of the books on this list, but this one is simply amazing. You should all definitely READ THIS BOOK. It breaks down how code (and computers) work in a very simple and easy to understand way. Each chapter builds on what has come before, and a very lucid and detailed map of our modern information age slowly unfolds.
I’d like to focus in on the section explaining how UPC bar codes work. I was really captivated when I learned that those black bars and white spaces in the bar codes are actually binary (1’s & 0’s). In the book the author used the UPC code from the Campbell’s Chicken Noodle Soup can as an example:
Take a look at that bar code, hopefully you’ll notice that the bars and the spaces are all different widths. When you see a larger bar, that is just smaller bars stacked beside each other. The largest bar is actually four small bars put together, and likewise, the largest space is four spaces put together. Each single width bar is equal to a 1 and each single width space is equal to a 0. If you have a large, 4 bar width, bar, that translates to four 1’s, and again, likewise for the spaces, but they would be four 0’s.
When reading about the bar codes I started thinking about what kind of art I could make out of this binary information. I thought that it might be nice to translate the image of a product into it’s own bar code.
I started with the image of a Campbell’s Chicken Noodle Soup can and turned it on it’s side, so it would be a better width for a bar code.
I then downsampled, and afterwords upsampled, the image (thanks Mark Kleeb) to smear the image into lines.
This is already starting to look like a bar code, but I really wanted to represent the actual bar code with the image. So after a very long time encoding all the details of the UPC algorithm and analyzing the colors and brightness of the image I came up with my own artistic version of the Chicken Noodel Soup bar code. It’s not exact, I’m using different (and multiple) colors for different single width bars beside each other, and each strip changes color a little from top to bottom. I don’t think it will scan, but it definitely looks like the bar code.
I’ll put my Processing code and more explaination up on my blog when I get a chance. For now, I’d like to hear from you about how’d you use bar codes, or binary, in an artistic way.
I know several people have written about this book (Code) already. I started and stopped several of the books on this list, but this one is simply amazing. You should all definitely READ THIS BOOK. It breaks down how code (and computers) work in a very simple and easy to understand way. Each chapter builds […]
Posts by Ryan Bartley (1) By Ryan Bartley, on November 29th, 2012
I’ve seen that two other people have already written about this book (one being my applications partner, which makes this post clearly very late but I wanted to finish the book), and though they’ve written wonderful things about the subject, I wanted to update what they’ve said with a concept that I took from the book, which, I feel, is the magic behind computers. That concept is Bits (which either in life or in ICM or PCOMP or in this book, we’ve understood as a binary digit). What is a Binary Digit? What is a digit? Why do we choose ten rather than 8, rather than 32 or 95?
In the beginning of the book, he talks about communication. How, in certain communication, the best understanding we can share are two values, on or off. Morse Code and Braille both use these concepts over and over. Putting an on and an off in sequence with other on’s and off’s create a code that can manipulate information in a way that can be understandable. But is on and off the only way that we can learn? No. What about changing the length of on or off? That will give us different values like Hannah talks about with morse code and logic. How can you manipulate on and off to give you different things as Henry says about electronics. I don’t think you can truly know withough as Henry says, “Knowing what you’re working with.” That is why understanding the bit and what the computer does with it is the most important issue of not only being able to artistically manipulate a computer but also being able to communicate with computers. The bit is the lowest value of information, on or off. This is the infrastructure of computers.
Charles Putzold begins the discussion of bits talking about base ten, our number system. He says that we clearly count in base ten because of how many fingers we have. He said that one of the most significant mathematical discovery came with the discovery of zero. That made it possible to think about the nothing integer or the reset digit. The interesting part comes when we are counting up and we run out of fingers, at 9. What did we figure out? to reuse the digits and make 10. which is just starting the counting over but holding a remainder to remember that we’ve already been through the digits once. This is super important because as we’ll see this is the way to count in other more complicated number sequences.
Next he talks about what if we weren’t humans but rather what if we were cartoon characters. We’d only have 8 fingers and toes. Then we wouldn’t have a use or a reason to count to 8 or 9. We’d count to 7 and then 8 would turn into 10. Think about it. 8 would be the reset. 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 20 etc. It doesn’t stop there. What if we were all crabs. Then our hands would be claws and we’d count in base 4. 1, 2, 3, 10, 11, 12, 13, 20 and so on. And it would be the same if we were dolphins. Dolphins have two flippers and therefore would count in base two, binary, ones and zeros. 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111. That is the first 16 numbers in binary. It’s very simple. You count 1. Then instead of 2 it would be 10 because you reset the count since there’s only a 1 and a 0 in your world. Don’t understand. Think back to when were counting base 8. We had no use for the number 8 just like when we count in base 10 we have no digit higher than 9. We get to the last digit and start over storing a remainder. That’s all base ten is. It just constantly stores remainders as you count up. look at the sequence of binary numbers counting up to 16 base ten. notice how everytime it reaches what would be two in our base ten. It moves over a number storing the reset. 1, 10 (stored), 11, 100(stored), 101, 110(stored), 111, 1000(stored). This is how a computer works. It’s constantly storing all of the counts and manipulating them to give different values. That’s also how electricity works. It’s on or it’s off, 1 or 0. And chips that have switches (on or off) store this like memory. It’s a little more complicated the way chips are made to store electrical impulses and quite beyond the topic but I really wanted to uncover the magic of counting in base two as Charles Putzold did for me. I hope you enjoyed it as much as I did. Let me know if I didn’t make sense.
I’ve seen that two other people have already written about this book (one being my applications partner, which makes this post clearly very late but I wanted to finish the book), and though they’ve written wonderful things about the subject, I wanted to update what they’ve said with a concept that I took from the […]
By Harry Chen, on November 19th, 2012
If you haven’t read the book yet and just glimpsed the title of this book, you will be definitely terrified by some keywords: code? hardware? software? programming language?! Please, don’t be threatened by these stubborn words and let your mind keep stepping onto a journey to the beauty of computer science.
As a computer science background, I read some of classical books from the Code’s author – Charles Petzold, who is a famous writer for Windows Programming (book list of Charles Petzold, http://www.charlespetzold.com/books.html). However, the content of this book is not similar with his other technical textbooks, the Code is a book about the story and history of computers, from some discoveries at very beginning of electronics, such as how to think of the combination of light bulb and switch that can be also treated as the fundamental logic of modern computers.
After reading Code, there has a question coming from my mind. What if the creative inventors who are not comfortable with the fundamental concepts behind what they have applied, for example, doing your Arduino sketch but without knowing what a chip looks like? (Check chapter 18 for detail). From my personal point of view, this will potentially hinder the creativity moving forward! Be cautious of that! How do you think? What is your experience on doing creative work without knowing much about ‘hidden’ story?
If you haven’t read the book yet and just glimpsed the title of this book, you will be definitely terrified by some keywords: code? hardware? software? programming language?! Please, don’t be threatened by these stubborn words and let your mind keep stepping onto a journey to the beauty of computer science.
As a computer science […]
Posts by Hannah Mishin (1) By Hannah Mishin, on October 23rd, 2012
I started to read this book (in an onagain/offagain) way in the summer. In the book the author starts slow and steady and carries this pace throughout. I am still reading this book. I read a few pages a day and it has helped me in my classes immensely.
The author begins by breaking up and actually explaining how morse code works, and the logic behind it.
He then breaks down Braille and and and (Boolean logic, bits and bytes and even microcontrollers).
What I would like to discuss here is his chapter on Boolean Logic. I read this a few weeks before we discussed it in ICM and when my professor begin to discuss the logic, I understood the concept and its rationale at the outset. I never had any real training in the “hard” sciences, nor had I been exposed to logic and logical systems before.
He breaks down the symbols used in the syntax while explaining a cat getting expedition.
Cats can be Male or Female (M or F) (this does not represent the number of cats, but a class containing many cats)
Cats have colors : black White or Tan (B, W, T) (this again represents the classes of colors of cats).
Cats can be Neutered or UnNeutered (N, U)
anyhow…. I was going to simplfy the entire chapter of Boolean logic here. But I think you might benefit from actually reading the chapter(book).
Instead I will say that thinking about the concepts in communicating with computers is best thought about (for me) when I imagine these concepts dealing with life, and things within our daily lives. So, while in class, and my ICM professor talked breifly about Boolean logic, all I had to do was remember the cats example and worry only about the syntax.
I was working with “for” loops in processing, and made a little reference to it in Facebook:
int coffeeSolution;
int stomachTantrum=1;
void ITP(){
if (McD’s){
coffeeSolution = coffeeSolution + stomachTantrum;
stomachTantrum ++;
sigh (0, stomachTantrum, width, height);
}
}
I think thinking about the concepts of computing in these terms truly helped me understand them better. I don’t know if I would have naturally come to this were it not for this book.
Have any of you had /created/translated “real life” examples help you to understand concepts covered in class?
I started to read this book (in an onagain/offagain) way in the summer. In the book the author starts slow and steady and carries this pace throughout. I am still reading this book. I read a few pages a day and it has helped me in my classes immensely. The author begins by breaking up […]

