February 12, 2010

Don’t read the article. All it does is claim, “But anyone who uses Free solely as a way to gain more sales loses out on all of that. They lose simply because they’ve objectified their audience. They’ve treated people as customers, not as friends.”
with no proof.
What captures my imagination is the photo of the coffee cup, the implications of a “free” pop-up coffee stand, and my long planned goal of making a pop-up ramen stand, that is somehow driven by an underground cult following (and perhaps some puzzles), and rave like information dynamics (ie where it will be and when).
February 10, 2010
February 10, 2010
February 10, 2010
February 09, 2010
For those of you who can afford to take a moment to observe the beauty of imperfection as done by the art works of Daniel Rozin. Anyone want to guess what I mean?
February 08, 2010
February 08, 2010

Earth friendly foam core substitute. Made in Oregon. Still, the biggest selling point for me is that it can be laser cut (foam core produces toxic chemicals if burned)
February 06, 2010
February 06, 2010

Love of Apples.
Strobist info
SB800 pointed at background w/ red gel
AB800 camera left, bare
AB800 camera right w/ strip box
fired with cybersyncs
© Eric Mack Photography
Site :: eric-mack.com
(via eric-mack)
February 06, 2010
February 06, 2010
February 05, 2010

This photo really caught my attention. I feel like it conveys so much, and yet, it is quite simple. Hoping to use it to inspire some future work.
Photo Credit: flickr link
February 05, 2010

Coded up an arduino led array.
Next step, scrolling text and the world’s smallest (actually probably not) LED sign.
The code, in case you care, or if you arrive here via search.
/*
5 by 7 LED array
The circuit:
* LED array connected to pins 1-14 (don’t use 0)
led array is LTP1557AKR
Using freeduino
Created 5 Feb 2010
By Douglas Tarlow
*/
const int pin14 = 12; //pin 12 is unused b/c of overlap (see datasheet) but it would be pin 14, or an analog
// so this just helps us keep it straight
//sets up the board, makes sure all pins are output, and turns off all active LEDs
void setup() {
// initialize all digital pins to output
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(pin14, OUTPUT);
pinMode(13, OUTPUT);
all_Off();
}
//this function takes row and col arguments, and turns the LED at those coordinates on
void led_On(int row, int col){
digitalWrite(row, HIGH);
digitalWrite(col, LOW);
}
void all_Off() { //this turns all the leds off, high low values determined from datasheet
//all anodes turned low and all cathodes to HIGH
digitalWrite(1, LOW);
digitalWrite(2, LOW);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(pin14, LOW);
digitalWrite(13, HIGH);
}
//this function converts led cordinates to pin cordinates, again, datasheet used as source
int led2pin(int ledPosition, int row_Or_col ){ //row is 0, col is 1
if (row_Or_col == 0){
switch (ledPosition){
case 1:
return 9;
case 2:
return pin14;
case 3:
return 8;
case 4:
return 5;
case 5:
return 1;
case 6:
return 7;
case 7:
return 2;
}
}else if (row_Or_col == 1){
switch (ledPosition){
case 1:
return 13;
case 2:
return 3;
case 3:
return 4;
case 4:
return 10;
case 5:
return 6;
}
}
}
//iterates thru all the leds to run a basic board check
void testBoard(){
int delayTime = 1; // amount of time to delay b/w led changes, can also be used to create illusion of all leds on w/out current problems
for (int row = 1; row < 8; row++){
for (int col = 1; col < 6; col++){
int col_pin = led2pin(col, 1);
int row_pin = led2pin(row, 0);
led_On(row_pin, col_pin);
delay( delayTime);
all_Off();
}
}
}
void loop(){
testBoard();
//this is where the cool stuff happens later =p
}








