Let’s be computers!

I know, that sounds like a nonsense, a crazy idea, but I’m a serious crazy computer scientist and artist, so please follow me into that strange and mysterious way. No particular knowledge is required to read this article, but I guess a little bit of open-mindedness is necessary.

There are some exercises inside this article=> let’s do them, it’s a lot of fun!

What is a computer? Are we computers?

alan_turing_aged_16There are many kinds of computers: PCs, webservers, smartphones, and so on … In 1936, Alan Turing, a genious mathematician has defined what is a computer, which now is universaly accepted among computer scientists. To make it simple: he said that a computer is a device that is able of some kind of basic operations like reading a character or moving a cursor left or right on a tape (You can read the full definition on wikipedia: Turing machine). You will tell me that a computer can do much more complex tasks; you are right, but all those tasks can be done by a sequence of those very simple little tasks.

A human is able to perform those tasks, that means that a human is a computer (of course the reverse is false). We are slower than computers, but fortunately we are much more than computers: we have feelings, we know what beauty is and we are clever!

As we are computers, we can now apply some computer science on us… Get Set, Ready? Go!

 Inputs/Ouputs

peripheralinputoutput

A computer is treating input data in order to produce output data. Some devices are used to put information into or get information out of the computer. Those devices are peripherals.

Here are some examples:

Input Peripheral Example
Text Keyboard Writing an email
Sound Microphone Recording a song
Image Webcam Taking a pic for my facebook profile

 

Output Peripheral Exemple
Video Screen Watching a movie
Sound Speaker Listening Lady Gaga
Image Printer Printing the ticket for Lady Gaga’s next concert

So let’s apply this logic for us, computer-humans artists:

Examples:

Input Peripheral Exemple
Image Art book Mona Lisa
Image Brain’s memory Our memory of Marilyn Monroe
Feeling Our soul Joy, fear, …

 

Output Device Exemple
Drawing NotePad a portrait of my son
Sculpture Clay A vase
Emotion Our soul My son’s amusement when he sees my drawing

As you can guess, we can produce a very long list of inputs and outputs, and also a very long list of tools!

Exercise 1: On your own, try to find some inputs and outputs (with their devices)!

Writing and running a program!

So our computer is getting more complete now, but still we are missing something essential. A computer is completely useless if we don’t use a program with it. So now we will do something very fun, we will use our first program on our personal human computer… Are you ready for this?

The smiley program

18935122-crayon-peint-smiley-dans-le-dos-blanc-banque-dimagesTo make it simple, a program is a list of instructions. Now we will use our first program, which is very simple because it is the first one:

  1. draw a circle for the face
  2. draw two big dots for the eyes
  3. draw a curve line for the smile

We will use it with the following peripherals:

  • input = image of a smiley
  • input tools = my memory
  • outputs = a drawing on paper
  • output tools = a pencil, a blank paper sheet

Exercise 2: run the program(follow the instructions with the input and output and tools)

Now, let’s ananyse a little bit more the program: it was done by elementary instructions:

  • draw a circle (used once)
  • draw a dot (used twice)
  • draw a curved line (used once)

Those instructions are our toolbox, we will use that toolbox to create our programs, So far, we only have three tools in our box, but we will add new tools soon. Anyway, the possibilities are really big, just with a very few simple things, here are some examples:

cercles_et_lieux_sacres_lieuxsacres14 coloriage-cirquemagicien-3 mandala-fini-suite

Now that you have ran your first program, you’re ready for something more powerful!

A simple portrait program

As we will do a portrait, we will use a face as an input and our output will be the portrait on paper, but let’s use more peripherals:

  • Input: Jack Sparrow
  • Input peripheral: the printed image of the face, and a second black & white contrasted image of the face

Film Still Handout photo from Pirates Of The Caribbean: Dead Man's Chest. Pictured: Captain Jack Sparrow (JOHNNY DEPP). See PA Feature FILM Depp. PA Photo/Peter Mountain/Buena Vista International. ©2006 Disney Enterprises, Inc. All Rights Reserved. DATE CREATED: 27/06/2006

PicsArt_11-29-02.53.04

  • Output tools: a black marker and 2 colored felt pens
  • New unitary instructions: draw an outline, feel inside an outline.

Now let’s try this program:

  • Draw an outline1 for the face
  • Draw an outline2 for the hair (can have common part with the outline1)
  • Draw  outlines  for the shadows (can have common part with oulines 1&2)
  • Fill the hair outline with color 1
  • Fill the shadow outline with color 2

Exercise 3: run the program!

 

Here is a my output (post-it style):

IMG_20151208_115252~01

This is only version 0.1, we can test it, see what’s wrong, change it, make version 0.2!

Open source!

This is an opensource program, that means that you have a free access to it, and you are free to modify it, so you could:

  • add an input
  • add one output tool
  • add some unitary instructions

Exercise 4: write your own program, and run it!

Testing, Debugging!

After writing a program, usually it never works perfectly at the first time… What we, programmmers, usually do is to check what was wrong, we modify inside the instructions and then we run it again. For example, on my Jack Sparrow drawing, I could decide that the lines are not so good… So a small change could be: use a pencil instead of a pen and erase those lines at the end… Then do the drawing again and see if it’s better or not… Those little iterated steps will help me to improve the program. When something is wrong, I change some instructions (small or big fixes) and run the program again!

Exercise 5: make a small fix in the previous program, and run it again!

 

Reverse Engineering

reverse engineering is the analyze of a running program in order to understand the code of it. We should apply it to some drawings and try to guess what kind of instructions were used with them:

3051912287_1_3_5Iwg0F3s

the-papal-palace-avignon-1900

240px-monroe.svg

Exercise 6: Try to find what kind of instructions and input/output tools were used for those drawings/paintings!

Going further

All of this is not the truth, this is just a model… I guess I see things like this because I’m an engineer, but I hope this can help you to have a different point of view about drawing, making art and practicing. Another point is that this article could be much much longer because many of the fields of computer science could be used, for instance: agile (by a great agile coach), fractals , and many of them;

Final exercise: use your imagination ! 

 

 

 

Advertisements

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s