Internet as Platform, Programming as Medium

1. Procedural thinking: Programming fundamentals

The New Centre for Research & Practice 07.12.2015

Overview

  1. Historical / theoretical framework
  2. Critical discussion
  3. Code

Structure

  1. New material
  2. Live coding
  3. Discussion

Logistics

  1. Get a github account
  2. Get a codepen
  3. Get a code editor for Windows or Mac
  4. Fork this for your projects
  5. Reach me at mani.art@gmail.com

We will be focusing on three main areas in creative computation for the internet:

  • Algorithmic and procedural art: This will lead us in to the realm of simulation
  • Digital collages: we will see how we can apply algorithms to manipulate images
  • Computer Vision: we will experiment with computer vision and networks.

A few notes:

  • I’m here to help. Reach out between classes.
  • If you learn how to formulate your question, the internet has all the answers
  • Stick with it, and it will grow on you
  • Like natural languages, programming languages need practice.

Appropriating technology

1826: View from the Window at Le Gras - Nicéphore Niépce - source
source
UNIVAC - source

Manfred Mohr - source
Manfred Mohr - P-197pz, 1977-1987 Plotter drawing ink on paper - source

Programming as medium

Manfred Mohr - Une Esthétique Programmée, ARC - Musée d'Art Moderne de la Ville de Paris 1971 - source
Messa di Voce (2003: Golan Levin, Zachary Lieberman, Jaap Blonk, and Joan La Barbara) - source
Messa di Voce (2003: Golan Levin, Zachary Lieberman, Jaap Blonk, and Joan La Barbara)

Internet as platform

wwwwwwwww.jodi.org - Jodi.org collective, Original home page, 1993, HTML - source

Network types - source

Tele-Present water, David Bowen - source

Algorithm


source

source

Tenesh Weber, Photogram - source

Tenesh Weber, Photogram - source

Tenesh Weber, Photogram - source

Tenesh Weber, Photogram - source
Mitchell Chan, Sol LeWitt Translator, Processing
John Whitney "Catalog" 1961

Pseudo-code

Examples

Emergence & Randomness

Most electronic artists are looking for an out-of-control quality that will result in their work actually having outcomes that they did not anticipate. If the piece does not surprise the author in some way then it is not truly successful in my opinion
- Rafael Lozano-Hemmer

Charles Csuri, Random War, fragment (1967) - source

Charles A. Csuri and James Shaffer, Sine Wave Man, 1967 - source

Game of life

  • Any live cell with fewer than two live neighbours dies, as if caused by under-population.
  • Any live cell with two or three live neighbours lives on to the next generation.
  • Any live cell with more than three live neighbours dies, as if by overcrowding.
  • Any dead cell with exactly three live neighbours becomes a live cell, as if by reproduction.

Conway's Game of life - source

I/O

"PomPom Mirror" (2015) by Daniel Rozin from bitforms gallery on Vimeo.

Are You There? from Mani Nilchiani on Vimeo.

Programming Concepts

  • Bit, Byte, 0, 1
  • Digital vs. Analog
  • Low-level vs. High-level
  • Compiled vs. Interpreted

Sampling of an analogue wave - source

Code

Internet

  • Distributed system
  • Protocols
  • HTML
  • API's / Interfaces

Programming concepts

p5.js example time.

Homework: For next session, write up your own set of instructions. (Pseudo-Code) Use line, shape, surface, color. If you feel adventurous, motion.