Archive
Author Archive

Just wanted to let you know that I managed to create a modified version of the javacvPro library, which offers up-to-date opencv2 support in Processing. The problem of javacvPro is that requires a separate installation of the opencv libs, which is in general a big hurdle for most students.

This modified version bundles the opencv2 libraries so there is are no additional installs required (well, thanks to Apple, almost none, see below for details). The download link is the following:

http://sourceforge.net/projects/gsvideo/files/opencv/javacvPro-0.5-macosx64.zip/download

The library comes with tons of examples of image processing, face and blob detection, etc. There are a few details to keep in mind in order to use it properly:

1) Processing must be running in 64bit mode (Processing|Preferences, Launch programs in 32/64 bit-mode)
2) On OSX Mountain Lion (and possibly Lion as well), the first time you run an example using the library, you will get a window asking to install X11. For the time being, you need to do that in order to use the library… this is because Apple removed X11 from OSX recently. Even though the library doesn’t launch the X11 interface or anything like that, it probably includes some library dependency that triggers the message.
3) There are two sets of capture examples, one uses GSVideo, and the other the built-in video library. For people using Processing 2.0, it is recommended to use the capture examples that reply on the built-in video library, so they don’t need to install GSVideo. Besides, the new built-in video library in Processing 2.0 is basically a simplified version of GSVideo, so performance won’t be an issue.

Pass this info around the students. Hopefully it will help those who need to use opencv and are currently stuck with the older opencv library that is no longer updated. Let me know if you get some feedback from them, such as installation problems, errors, etc.

Andres

Read More

Other resources to check out

- The Deck: 10 Tips for Debugging

– Excellent article on how to approach problem-solving

– Clay Shirky’s guide to the Basics of Debugging

 

Know what’s going on 

- take time to know what you’re doing. (ie using libs etc)

– READ the documentation, look at examples, try to understand

– whats your input, whats your output?

 

Structure your code well

– breaking things up into smaller fxns

– comment your code

– find examples of well-documented projects as inspiration for style?

– name well

 

Structure your process – general

– saving backup copies of code (create a system for yourself so this happens regularly) – archive sketch. save copies on a backup drive.

– testing early and often / building incrementally (e.g., Star)

– milestones: regularly save working bits and pieces (if not whole app)

– version control

 

Debugging – looking at your code

– check everything is plugged in

– what just changed? (since milestone)

– read the code like a computer – rubberduck debugging

– read the console errors

– use google (site:processing.org)

debug mode!!

 

Debugging – changing your code

don’t go backwards – take a snapshot first

- work in one direction

– using println in different ways

– monitor vars

– check parts are happening

– commenting out parts until it works. break down problems. – simplify

– making progress, take notes on what you’ve tried, other things to try

 

 

Getting help from others

– how to ask a question: the easier you make it to answer the question, the faster and better you get help

– creating questions to post to the class list rather than, here’s my whole sketch, it don’t work

– don’t send full sketch

– isolate what’s not working

– create a simple ex with that broken part, explain what the desired outcome would be vs whats happening

– forums, google

– patience! politeness — noone owes you to respond or help — they are doing you a favor

Read More

Nathalie Miebach – http://nathaliemiebach.com/
Stefanie Posavec – http://itsbeenreal.co.uk/
David Elliot – http://hadto.net/projects/human-powered-chatbot/
Other examples we’ve seen in class already – Sol LeWitt, Chunky Move, conditionaldesign.org

Read More

Simulate

http://www.creativeapplications.net/events/swarm-light-inspiration-events/
http://vimeo.com/1609126#at=0
http://2009.field.io/project/communion
http://roberthodgin.com/flocking-for-nervo/
http://roberthodgin.com/bait-ball/
http://www.flong.com/projects/snout/
http://danielsauter.com/display.php?project_id=58
http://www.niklasroy.com/project/88/my-little-piece-of-privacy/
http://www.strandbeest.com/
http://www.creativeapplications.net/processing/the-abyss-tutorial/
http://www.shiffman.net/itp/classes/nature/week09_s09/evolution/
http://www.youtube.com/watch?v=MwHQx9BrHQc

 

Object Extension

http://www.creativeapplications.net/iphone/arart-by-kei-shiratori-new-stories-with-ar
http://ou-jifei.com/dada-box/
http://fffff.at/free-universal-construction-kit/

These examples use a technique called “projector mapping” to add expression, behavior and graphics to simple cubes and geometric shapes. You are not expected to do anything as advanced as this — this is mainly for inspiration on how to bring still objects to life, using graphics.

Pablo Valbuena, Augmented Sculpture
www.youtube.com/watch?v=UV2jkuuNMm0
www.youtube.com/watch?v=5nzhV0x3_qM

Amon Tobin, ISAM
www.youtube.com/watch?v=vrAbpMX9t4A

Another example 3D scans real-world objects and lets people control and deform them using human gesture and movement, allowing the objects to behave in new and unexpected ways.
www.youtube.com/watch?v=wb1TS_HRjlE
research.microsoft.com/en-us/projects/animateworld/

Jim Campbell, Low resolution works
These projects primarily reinterpret still images or videos to emphasize interesting features or behavior by reducing (downsampling) the amount of information that they contain.
http://www.jimcampbell.tv/portfolio/low_resolution_works/

 

Julian Oliver

http://julianoliver.com/

Chunky Move

http://www.chunkymove.com/home.html


Read More

Also a bunch of cool slit scan examples collected by Golan Levin, check them out!

 

PImage img;

void setup() {

size(600, 600);
img = loadImage(“garden_landscape.jpeg”);

}

void draw() {

background(0);

// draw the original image
image(img, 0, 0);

// move halfway across the screen in the x direction one pixel at a time
for (int i=0; i<width/2; i++) {

// get the color at that x, in line with your mouseY
color c = get(i, mouseY);
// set the stroke color
stroke(c);
// draw a vertical line translated halfway over in x, from top to bottom
line(i+width/2, 0, i+width/2, height);

}

// draw a black line to show where your slit is
stroke(0);
line(0, mouseY, width/2, mouseY);

}

Read More

Reuse, Reinterpret, Respond

http://www.face-to-facebook.net/
http://gwei.org/index.php
http://newstweek.com/, http://prix2011.aec.at/winner/3031/
http://sosolimited.com/reconstitution/
http://www.nytimes.com/video/?src=vidm#100000001786172

User Experience

http://www.staggeringbeauty.com/
http://www.eddostern.com/darkgame/index.html
http://www.isobelandvan.com/jungle/
http://prix2012.aec.at/prixwinner/6119/
http://www.novajiang.com/installations/ideogenetic-machine
http://www.core77.com/blog/technology/touched_echo_invisible_memorial_for_the_bruehlsche_terrasse_in_dresden_10440.asp
http://infosyncratic.nl/weblog/2010/12/19/ikbijt/
http://www.youtube.com/watch?feature=player_embedded&v=ennfeVSirDU#!
yoko ono cut piece

Carly’s Presentation – Jonathan Harris

https://dl.dropbox.com/u/18482934/2012-09-30-Ayres-Presentation.pdf

Read More

interventions / internet culture
FAT lab – http://fffff.at/about/
Kyle McDonald – people staring at computers
Aram Bartholl – http://datenform.de/
Graffiti Research Lab – www.graffitiresearchlab.com

fashion
Nervous System
Mary Huang – continuum
Mortiz Waldemeyer

performance
Random International – future self
Micha Cardenas – becoming dragon
Marc Horowitz – advice of strangers
Shantell Martin – light projection

installation / light
art+com – http://www.artcom.de/en/projects/project/detail/kinetic-sculpture/
UVA – http://www.uva.co.uk/work/array#/6

data visualization
Ryoji Ikeda – test pattern, datamatics
Aaron Koblin – flight patterns

crowd sourced visualization
Aaron Koblin – bicycle built for 2000, the sheep market
Jonathan Harris – we feel fine
Martin Wattenberg – fleshmap

generative systems
Robert Hodgin – http://roberthodgin.com/eyeo-2012/, http://roberthodgin.com/bait-ball/
Casey Reas – Process 16 (Software 3), compendium, works
Martin Fuchs and Peter Bichsel – written images
Conditional Design – conditionaldesign.org

interactive / public art
Hehe – Nuage Vert
Golan Levin – flong
Daniel Rozin – mirrors
Rafael Lozano-Hemmer – sandbox

face detection / computer vision
Kyle McDonald, Arturo Castro – face subsitution
Julius von Bismarck, Benjamin Maus, Richard Wilhelmer – public face

Read More

Lauren McCarthy, laurmccarthy@gmail.com
Alex Olwal, olwal@media.mit.edu

TA Jack Lovell, jlovell@risd.edu

Monday, 1:10–6:10 pm
Room 407, CIT/Mason Building

This studio-based course will introduce programming as a medium for artistic and design practices. Students will learn basic programming concepts through a series of short exercises, discussions, group presentations, and a longer studio project. Software practices will be grounded in a critical context to examine how and why contemporary artists choose to use software, how software written by artists gets used and disseminated via the web. The course will also cover good programming practices and open source ideologies. Students will be working primarily with Processing. No prior programming experience is necessary.

Read More