Language Fights!

Languages old school nerds like:

C
Perl
Python
Go

Languages old school nerds hate:

C++
Ruby
Java

Languages new school nerds like:

C++
Ruby
Javascript

Languages new school nerds hate:

Perl
Java

Processing SimpleOpenNI to Processing OpenCV

Random technote post:

Doing blob tracking with a kinect using Processing is surprisingly hard, as I’ve discovered today in the CIID Generative Design workshop I’ve been running, the below shows the trickery required to buffer RGB images from the kinect and then doing blob tracking on them:

import SimpleOpenNI.*;
import hypermedia.video.*;

SimpleOpenNI  kinectLib;
OpenCV opencv;

void setup() {
  
  kinectLib = new SimpleOpenNI(this);
  
  opencv = new OpenCV(this);
  
  if(kinectLib.enableRGB() == false) {
    
    println(" can't open RGB ");
    exit();
    return;
    
  }
  
  opencv.allocate(640, 480);
  size(640, 480);
  
}


void draw() {
  
  kinectLib.update();
  
  background(122);
  
  // copy the RGB image into opencv
  opencv.copy(kinectLib.rgbImage(), 0, 0, 640, 480, 0, 0, 640, 480);
  opencv.threshold(80);
  
  opencv.absDiff();
  
  image(opencv.image(), 0, 0, 640, 480);
  
  Blob blobs[] = opencv.blobs(10, width*height/2, 10, true, OpenCV.MAX_VERTICES*4 );
  
  fill(255);
  for(int i = 0; i< blobs.length; i++) {
    rect(blobs[i].rectangle.x, blobs[i].rectangle.y, blobs[i].rectangle.width, blobs[i].rectangle.height);
  }
}

Here's the somewhat unintuitive part: to save the image in memory, because the blobs() method (and findContours() underneath it) mangles the image, we do this:

void keyPressed() {
 
 opencv.copy(kinectLib.rgbImage(), 0, 0, 640, 480, 0, 0, 640, 480);
 opencv.threshold(80);
 opencv.remember(OpenCV.BUFFER); 
  
}

The OpenCV library has a restore() method that is supposed to handle un-mangling the image buffer, but it doesn't seem to work with buffered images, only ones captured from a Capture source.

Slides from my CIID talk

I gave a quick “what I’m thinking about lately” talk at CIID about computation, design, and talking about things that are around us and I’ve gotten the slides pared down a bit and posted here: http://thefactoryfactory.com/comp_design. Please do enjoy!

One of the clearest statements on “New Media Art” (which also must die)

By Alex Mclean This is really wonderful stuff which I would recommend to any/every one

GML field recorder is up and in alpha

More info here

GML Field Recorder site is up in super-alpha

http://thefactoryfactory.com/mtagger/

Chindogu

Chindogu is almost like the doppelganger of the well designed interaction. (Note to pedants: yes, I know that the o in Chindogu is supposed to have a line over the top, but WordPress isn’t playing along).

Chindogu is the Japanese art of inventing ingenious everyday gadgets that, on the face of it, seem like an ideal solution to a particular problem. However, chind?gu has a distinctive feature: anyone actually attempting to use one of these inventions would find that it causes so many new problems, or such significant social embarrassment, that effectively it has no utility whatsoever. Thus, chindogu are sometimes described as “unuseless” – that is, they cannot be regarded as ‘useless’ in an absolute sense, since they do actually solve a problem; however, in practical terms, they cannot positively be called “useful.”

There are actually rules for what can and cannot be a chindogu

1. The invention must be useless

2. The invention must be real, and more than a concept.

3. The invention must be created for daily use

For instance:

In a way, the chindogu is an interesting lens to think about interaction design through: needs improperly addressed. A lot of interaction design, what people actually do in day to day work, is try to make non-needs useful: you don’t really need this service but make the website easy to use. You don’t really need the 10 new features on this washing machine but you can make the features easy to access. You don’t really need this new social media sharing whatever site but make it easy to integrate it with the rest of your life. The chindogu is actually attempting to meet needs rather than create demand, it simply does it in a way where the interaction is so difficult that the need can’t be met, but in looking at these things, you can see the interactions, the actual points where the people and the objects meet, very clearly, because they’re so bizarre and so poorly thought out. It actually reminds me quite a bit of what I see in a lot of student interaction design projects and in heavily technology driven design solutions: actual needs, the sorts of things that you see and think, late-night infomercial style,: “yes, you’re right, that is a problem”, and then solutions to them which are so incoherent, so poorly thought through, that they verge on chindogu-ness. The complementary problem, is just as interesting: objects and touch-points with well thought-out interactions but incoherent or non-existent needs. I wonder if a well thought out but useless interaction is useful in a way that a poorly thought out useless interaction isn’t, if by demonstrating how something that can be done well, it has merit beyond its failure to meet the needs of its users or its producers?

Urban Sensor Adventures (ok, not really)

As a quick diversion from CIID I found one of these in the backyard and decided to investigate a little bit.

Pulled it down and brought it into school kind of excited that I found some municipal sensors array, maybe something that the landlord put up?

I took a look at the underside trying to figure out whether I could find the humidity and temp sensor used, that was the thing I was really curious about, but I couldn’t see it without ungluing the board, which I didn’t want to do. Actually, turns out it’s this: The RTGn318 which actually goes along with one of these:

Not the most exciting thing and I just yanked one of my neighbors thermometer sensors. Oops. I went back home at lunch and put it back in its place with the batteries in and nothing disturbed. Hopefully no one missed it too much while it was gone.

Urbanized

So, I went to see it a few nights ago and have been trying to organize my thoughts on it, slowly, whilst doing my thesis and getting, no hyperbole, sicker than I’ve been before. If this post is incoherent, I blame viral activity, not my own failings. So in short, you already know whether you’re going to like this or not. Did you like Helvetica? Then you’ll like it. Not, then not. Pretty straightforward. There’s nothing completely surprising or particularly heavy historically or otherwise being thrown about, the selection of places that they focus on: Bogotá, NYC, Rio, Beijing, Johannesberg, Delhi, Santiago, Brasilia, and Copenhagen. You can guess what each of these cities stories is about too, I’d bet: Bogotá: Reinvention; NYC:Jane Jacobs; Rio:Favelas; Johannesberg:Townships; Delhi:slums; Brasilia:Unliveable; Beijing: Over-development; Copenhagen:bikes. The one surprise is Santiago Chile, which is about Elemental‘s Lo Barnechea social housing project. If you don’t know it, check it out, it’s a very eloquent demonstration of small scale collaborative urban development.

There’s one thing in it that’s quite interesting though: here’s the only place technology really gets mentioned:

That’s the control center in Rio. When I say “that’s the only place technology gets mentioned” I mean anything that’s not roads, buildings, parks. It’s interesting that the only thing that can be a way of making smart things for cities is the old Rand Corp style Master Control War Room. I don’t think that’s Hustwists fault, I think it’s cultures fault. When a culture obsesses about big screens, sweeping power, surveillance, it’s quite natural that that’s going to get in the way of how we think, so, we’ve all seen this:

So of course it’s natural that sometimes when we think of technology re-making how we design cities, some of us might think of things like this. But that means that small things, light things, flexible things, simple solutions utilizing existing infrastructure, get ignored, because when we think of “cities + tech” we think of IBM style huge screen/rooms. And that misses a huge range of possible interventions that municipalities, private entities, and citizens can implement point. Most people who do technology related stuff don’t make stuff that has a giant master control center or even that needs one or even that would know what to do with one. And when you assume that that the only way that can get done is to make giant command center style things, it misses most of what people really want: small local services, instant update, small stuff, about when they are, where they’re going, and what’s going on. That’s actually stuff that a lot of people are really good at doing and that I still haven’t seen put to use in service coordination, in city planning, in rebuilding, in zoning, in any of the things that are actually really important but that generally don’t get much attention from residents. Tech can be simple, small, light, and cheap stuff and it can make real differences. /end_soapbox

Other thoughts: Former mayor of Bogotá Enrique Peñalosa is a remarkable man. I know little about him other than what he says during the interview, but that was uplifting, inspiring, and, dare I say it, visionary.

Trailer:

so you’re coming to CIID

This replaces an earlier post. If you read that post, erase it from your mind, this one is vastly superior.

It’s going to be pretty cold and very dark when you get here. Don’t be shocked by that. Also, there are not a lot of street signs, so carry a map.

Find a place to live as soon as you can. Preferably before school starts, even better if it’s before you even get here.
Everyone you can talk to should chip in together and get an account at boligportal.dk. Google translate is your friend. Things you should look for:
a) furnished. You can find furnished places, they’ll make your life better. Go for those if you can find them
b) 3500DKK should be about the max you pay.
c) Amager, Norrebrø, Central, Østerbro, Vesterbro are the names of ok neighborhoods. Other places are ok if you’re desperate, but they’re going to be far away and your options in life are going to be constrained by your location.
d) cookware – you can’t outfit your own kitchen here, when you check somewhere out see that they have a few pots and pans and ask if they mind if you use them.
e) Bills. Get the down low on this in specific. I moved into a place thinking it was one amount, and then found out that the water, electricity, and gas all added an extra 600DKK and that the laundry was 75DKK for a wash and 75DKK for the dryer. So what was 3500DKK was suddenly around 4500DKK a month. Add to that no cookware, no plates, no internet, no furnishings, not allowed to have any guests over and a 1.5m x 2.5m room and I left.
f) IMPORTANT: You can actually live there. Some places you can’t “officially” live, i.e. it can’t be your permanent address. This means you can’t officially live in Denmark, get health coverage, a bank account, rent movies, join a gym, anything else. So don’t live in one of those places. Make sure you can put your name on the mailbox and officially be there.

Buy a bike. You will buy one. Yes. “But”, you may say, “I don’t know how to ride a bike”. Then learn. “But it’s dangerous.” So is freezing to death. “They’re expensive”. A one way ride for one stop on the metro is 24DKK or almost $5. Do that twice a day for a month and it’s a bike. Also, lock your bike up. Judging by this year your chances of having your bike stolen are 15% over the year. Just a heads up :)

You’re going to drink a lot (unless you’re really opposed to that sort of thing) and you’re going to see some of the drunkest people you’ve ever seen wandering around without a care on a Friday night. Danes drink a lot. Just sayin’.

Embrace your lack of sleep but don’t be that zombie who hasn’t slept for 3 days straight. Don’t put things off until the last minute. Plan your projects. Also, you will not sleep for days and then there will be the after project party and you will have some drinks and realize that the drinks are making you feel more awake so you’ll want to have a lot more of them just so you can stay awake. Do not give in to this urge. You’re just going to be a drunk mumbling zombie instead of a mumbling zombie. Stuff flickering at the periphery of your vision is your brains way of telling you that it’s packing it in and closing up shop.

Bring a camera that shoots video. You’ll do a lot of presentations and you will need things to look at in those presentations and those things should probably be pictures, unless you’re an amazing speaker. Actually, even if you are an amazing speaker: bring a camera, get ready to use it a lot.

You’ll need stuff, bring it if you can. A warm coat, a hat, a raincoat, warm pants, warm socks, gloves that keep their warmth while wet and are wind-proof, a computer, a small projector, wacom tablet (if you’re into those) Arduinos, all that stuff you will want to bring if you want it. If you’re into electronics, definitely bring stuff with you or make friends in the US who can mail you stuff from Sparkfun. You might buy some clothes here, but it’s unlikely. Amazon will ship stuff here but it will take between 3 days and 3 months for it to arrive. Bring a microphone. A voice recorder. Em…that’s all I suppose.

Get a Lebara phone. Danes will laugh at you for having the cheap immigrant phone service. You, however, will enjoy that you can actually get a Lebara account as some service providers in Denmark don’t want anything to do with you if you’re not Danish. Lebara, catering to the immigrant set, of which you are about to be a part, doesn’t care where you’re from and you should love them for that.

Get a bank account. It’ll make life a lot easier. You need residency to get a bank account and you need a place to live to get a residency card so that makes #1 all the more important. You might need to go to a few different banks to find a bank that would give you an account (see previous). I had luck with Nordea, your mileage may vary.

Take Vitamin D. Get some exercise. Unless you’re some kind of weird robot, existing via coffee and kebabs and bike rides to the pub is not going to do you any favors. Do some yoga. Join a gym.

Go to Distortion Fest. You’ll know when it’s around because suddenly the entire city will be filled with drunk smiley happy Danes. Skip school, show up hungover, whatever, it’s worth it. It’s the whole city, drunk and happy and it makes pretty much any other city-festival look tame.

Don’t take everything too seriously. I took it really seriously for the first few months and I hated it. I was bummed out, disappointed, and miserable. Then I stopped taking it so seriously and started enjoying it. It’s your thing, enjoy it and make the most of it.

Things might be bit disorganized. Don’t panic. It’ll be ok.

Try to have at least one email exchange with each visiting faculty so they have your email and remember your name, even if it’s just them sending you a picture or a link.

Some places to go for things:
SuperBest: http://g.co/maps/6722x
Fotex is also really good: http://g.co/maps/sp4m4
Møller & Mammen: the best little hardware store near CIID. Surprisingly good stuff http://www.moller-mammen.dk/
Coffee Collective: best coffeeshop in CPH http://g.co/maps/d4c4e
Brinck: You need electronics, you’re going to have to buy them yourself. http://g.co/maps/ymh2v
rs-online here is the English site of a massive conglomerate. they have an office here in nørrebro which is convenient
electrokit: You need electronics and Brinck doesn’t have them? http://www.electrokit.se/
architecture school bar: Cheap drinks and other students http://g.co/maps/upwdq
model making supplies: Tuten & Koch spraypaint, other stuff you might need http://g.co/maps/qfx6w
Creas: more modeling supplies http://g.co/maps/a6uxk
Tiger: where you buy stuff you already know you’re going to throw away. Call it “future trash”. They’re everywhere though.
IKEA: You might have to go there http://g.co/maps/atxm4 You take the 150 bus from Norreport there. Just get off where you see a whole bunch of IKEA carts and trolleys thrown on the side of the road. Not joking. You can also take the train towards Hillerød st. When you need to figure this sort of thing out you use:
Rejseplanen: http://www.rejseplanen.dk/bin/query.exe/en it doesn’t suck.
Best American Burger apparently is http://g.co/maps/fsavk

Finally, and perhaps most importantly: you will learn a lot. Also, you have no idea what you will learn. Neither do I. It will probably be something more like user centered design than other programs (unless everything changes, which is likely). The thing about CIID is that it’s not a school the way that say NYU in New York is a school or some other university-type school is a school. You don’t have Skills 101 or Basic Theory of HCI or whatever. It’s more like having a lot of really intense workshops with well known people who are going to tell you how they do what they do and have you do the roughly sorts of things that they do with roughly the values that they do them with in two weeks of not sleeping much and freaking out. Maybe those things will overlap with things you want to do or maybe not. They’re the client, you’re the consultant, the job is the spec. You can do whatever you want, but you’ll be judged on how happy you make the client, and how eloquently you phrase problems derived directly from your users concerns. The last one of those is actually pretty important. Here’s why: when you leave CIID and go get a job and you want to be a real designer, you’re going to talk to people who use the stuff you make and you’re going to talk to people who pay for the stuff you make. They might be the same, they might not. In either event, to get money out of peoples hands, be they business people or normal people, you need to convince them. You’re a designer, not an advertiser, so you’re going to say:

1. I understand this problem. Here’s evidence of that.
2. I solved this problem. Here’s evidence of that.
3. Give me money.

Skip step 1 or 2 and you do not get to 3. Screw up 1 or 2 and you do not get to 3. Only by doing both 1 and 2 very well do you get to 3. What you will learn at CIID is a very good way of doing 1 and 2. How you will learn that, your exact understanding of that, how you will implement it, I have no idea, but I do know more or less what it is that will be presented to you. And you in all likelihood, don’t. Which is why you’re coming here. Have fun.

=== Updates ===

The studio will stink. It will smell like rotten food, sick people, old people, dead stuff, all kinds of crazy things. I don’t know what you can do about it. I’ve never had any luck with changing it.

You know little kids are always sick? You will become like that. I never get sick and I’ve had a cold 4 times this year and had the flu once. Spending all day in a small box with no ventilation surrounded by people with access to a variety of antibodies and viruses that your body has never fathomed is almost like a immunology lab experiment. Things don’t get washed, everyone is eating poorly and not sleeping and coughing on each other, everyone is in a tiny space; it’s like a wet dream for viruses. Always stay stocked with painkillers and cough medicine.