November 07, 2009

Shawn Van Every Faculty

Mobile Art && Code

I am here at CMU in Pittsburgh at a conference called Mobile Art && Code. Great talks, great workshops, glad I came.

I am doing a workshop called Interactive Telephony for New Media Arts, here is the full set of notes.

One thing that I did for the workshop is a put together an Asterisk driven webservice in PHP for getting at live phone call data. If you have been working projects that get information from asterisk or use phone calls to control other applications, it might be worth checking out.

PHP AGI Script:
#!/usr/bin/php -q
require('/var/lib/asterisk/agi-bin/phpagi.php');

$agi = new AGI();

$agi->stream_file("vm-extension");
$return = $agi->wait_for_digit(10000);
while ($return['result'] > 0)
{
$ascii = chr($return['result']);
$agi->say_number($ascii);
file_put_contents("/var/www/html/webservice/data.txt",time() . "," . $agi->request["agi_uniqueid"] . "," . $agi->request["agi_callerid"] . "," . $ascii . "\n",FILE_APPEND);
$return = $agi->wait_for_digit(100000);
}
?>

PHP Web Service Script:
// The client will send a timestamp if it want's new stuff from the timestamp
$timestamp = 0;
if (isset($_GET['ts']))
{
$timestamp = $_GET['ts'];
}

$data = file_get_contents("data.txt");
$dataarray = explode("\n",$data);
if ($timestamp > 0)
{
// Send everything from the timestamp forward
for ($i = sizeof($dataarray) - 10; $i < sizeof($dataarray); $i++)
{
$currentline = explode(",",$dataarray[$i]);
if (sizeof($currentline) > 0)
{
if ($currentline[0] > $timestamp)
{
echo($dataarray[$i]."\n");
}
}
}
}
else
{
// Just send the last one
if (sizeof($dataarray) > 1)
{
echo($dataarray[sizeof($dataarray)-2]);
}
}
?>

Processing Example

Nov 7, 2009 05:56 PM

Jonathan Ystad 2010

TN-OH-MY! Mehanata Madness!


_MG_9667

Though I am a second year ITP student, I’ve only been to two TNO’s. Still have yet to go to a drive by. This week, I felt particularly festive, and went to TNO with the gang at Mehanata in the LES (otherwise known as the Bulgarian Bar). The doormen appeared to not know who we were, but after Catherine gave them a talking to, they realized that we were in fact real live ITP students in need of a good time.

Inside, we found a wonderful little world. There was a stage getting set up for a band, a snazzy bar, and a sign pointing downstairs to the ICE CAVE. The Ice Cave was basically their beautifully lit lower level that was complete with another stage with a cool band, a full bar, and LOTS of pretty lights. There was a great turnout, and lots of the students came along. I never really had any super fratty parties to go to in the South, and certainly nothing with beer involved, but I imagine that TNOs purpose is for students to de-stress and relive their college days. I think?

At any rate, I managed to take some blurry, pretty photos of the lights and my friends having fun. I think I shall dub one of them, “The Official Wallpaper of Last Thursday.” I will set it up for everyone to download and experience the beautiful lights. Click here to get it! Maybe I’ll go again next week. Yayyyy!

Nov 7, 2009 03:42 PM

November 05, 2009

Craig Kapp 2010

FMS based virtual world 1.0

This week I’ve been playing around with the shared object feature of the Flash Media Server.  So far I’m really liking it!  I was able to whip up a pretty basic prototype of a web-based virtual world without too much fuss – feel free to check it out.

Just me and MC Hammer hanging out in the metaverse

Just me and MC Hammer hanging out in the metaverse

As of today the world can do the following:

  1. Avatar identification
  2. Synchronous  text-based chat
  3. Click-to-move functionality within the world
  4. Appearance editor (change your own avatar’s look)

The appearance editor is still very rudimentary, and changes made to your avatar don’t yet ripple out to other users.  I was having a real tough time figuring out how to send out complex AS3 objects using the Shared Object feature of the FMS.  The documentation explicity states that sending any AS3 class via a Shared Object should work. What the documentation fails to tell you is that you need to prepare your classes in a very particular way in order for them to retain their integrity after being serialized by the FMS encoder.

I should have a fix in place for this real soon – I’m uber excited about being able to share non-trivial AS3 objects in real time!

Nov 5, 2009 03:53 PM

Jonathan Ystad 2010

Not That You Needed To See More…But!


_MG_9561

Here are some awesome projects that my classmates are working on in Materials! We had a nice party last class. Mine is still under wraps but will be unveiled as soon as it is finished! It is going to be of EPIC PROPORTIONS + HAVE LIGHTS!

Sara's project will be an awesome clock that tells time with shadows and squares!

Nov 5, 2009 01:49 PM

Shoptastic Boxtravaganza + Helping Hands!


photo8

In my Materials class we constructed boxed from metal and cast molds of our hands. These were probably the two most fun projects in a while. Even though I am not the most skilled, I still manage to make things that come out looking great and that are sturdy. Sorry these photos were taken on my phone. I have more to come soon that I took with my good Cammy!

I made a brass box that resembles a Chinese takeout box that you’d get from around your corner. What is special about my box is that I folded the metal by hands, kind of like origami, after I cut out my pattern, and that I only used two rivets to bind the whole thing together. AWESOME!

My cast of my hand turned out pretty cool, and everyone marveled at how girly my hand was. Hey, I can’t help it if I have nice nail beds and dainty, piano-playing fingers! Don’t hate!

photo2

Check Elizabeth’s flat box, and Nicholas’ small boxes made out of brass! We make things in style.

photo

As a bonus, peep my mom’s shop at Boeing, and a very sturdy steel box that she WELDED WITH HER BARE HANDS! If that isn’t an awesome Mom, I don’t know what is!

Nov 5, 2009 01:21 PM

Sara Bremen 2010

Baseball Card Trades

Using the “image chat” technology, I propose a website for baseball card trading.  Geared towards tweens, the site will not reference physical cards, but rather hold a finite number of virtual cards.  Visitors can earn “money” by doing various chores.  Maybe the currency will be approved by a parent or on-line chores–answering research questions, reading [...]

Nov 5, 2009 10:56 AM

Latency Fugue

Latency Fugue is a live performance that utilizes the latency drag of live streaming which otherwise frustrates viewers. A performer dances next to a series of screens.  A video camera captures her movements and streams them over the Flash Media Server to each screen.  In turn, each screen displays its own .swf file embedded on a [...]

Nov 4, 2009 11:59 PM

Robert Carlsen 2010

it’s real (time) !

all eventsafter a couple of late nights, i have a proof-of-concept in the real-time cycling-related datalogging. the reasons behind the project are still getting sorted, but lately my interest in ubiquitous urban sensor networks has been piqued and this is a tentative exploration in that area. sensors don’t have to remain static as part of physical infrastructure…millions of people are carrying millions of sensors around with them daily.

an iPhone application records accelerometer data at anywhere from 1-40Hz (arbitrary rate) which is geocoded using core location (including heading, altitude, and location). every second the most recent sample is uploaded to a server running couchDB. after a ride, the full-resolution file can be e-mailed or uploaded to the server. for the proof-of-concept the data is being plotted on a dynamic Google Map.

in the immediate future i’ll be adding live updating of the map via ajax or some other web sumthin’ dot oh technology.

longer term is to build out similar applications for android and symbian (or maybe just j2me if it’s feasible). i’m also planning on getting back to the ardunio-based sensor packages which started the project.

couchdb ride events

Nov 4, 2009 11:10 PM

November 04, 2009

Diego Rioja 2010

[BKPK]midterm presentation

Mike and I gave a presentation before class on October 28, 2009. Here is the link to the pdf:

bkpk_pres4

Our biggest obstacle right now is to get the DOT parking restriction database API. Considering this could time, we are planning on having the actual community to map out restriction zones and parking areas. The Digital Democracy crew came in yesterday to give us their opinion about our midterm projects and presented us with pressing questions about the direction and obstacles of our projects. Mark suggested openstreetmaps to us, in hopes to have bkpk have street mapping parties. The community would be stronger if it is involved from the very start.

The main goal of BKPK is to build a parking community that can sustain, so having the community involved in street mapping parties is a good idea.

Nov 4, 2009 07:38 PM

Jelani John 2010

Stories by me / Stories by you

An idea I’m working on with Jorge Just. It may all change but here’s the basic mockup. The main premise is that there anyone can upload a story in audio, video or picture essay format. Limited to 2 minutes in length or 5 pictures in the case of the essay. They give 2 choices [...]

Nov 4, 2009 04:14 PM

Response: Origami Unicorn and Dongle of Trefuse

I found the audio pieces to be quite interesting. He has a good description voice and a very good sense of flow and poetry. The only failing is that, to me it was rather too long. I have a problem where, if someone is talking for more than a little while, i tend to zone [...]

Nov 4, 2009 02:59 PM

Jonathan Ystad 2010

Foodventures: Brunch @ BIA


_MG_9454

This past Sunday, the brunch gang and I met at BIA in the LES. I wasn’t exactly sure what to think of the place because it is known for its beer menagerie. I don’t drink beer, don’t like the smell of it, but since my friends were going and there was the promise of good food, I went.

When you walk in the door, after going down the steps, you are met with a jarring foyer of sorts: there is a counter, and a window next to a door that appears to be leading into the kitchen. A guy inside there told me to enter that door, and I was unsure, but I found out that the door leads down a hallway next to the kitchen and to a large, sunny room with tables and seats.

Catherine, Lee-Sean, Maddy, and I missed Fabulizabeth, but she was working on a project. We ate heartily in her honor. LS had nice pancakes, Maddy and Catherine had fancy eggs, and I had an awesome omelette. I forgot to take pics, because I was so hungry, but here are photos from our walk around afterwards. My omelette was great! The sausage was good, and it was all pretty cheap. We walked around afterwards before we had a meeting: There was a sad bagel on the ground outside, we passed Economy Candy, and saw a really pretty Firebird!

Nov 4, 2009 02:44 PM

Costumania: Halloween 2009!


_MG_9437

I have been swamped the last couple weeks so posting was kind of hard to get to, but there are always photos to post. Sometimes though, I think they should just post themselves, but the bad thing about that is that they wouldn’t tell you all about what happened, even if they are worth 1,000 words.

Anywho, here are some pics of my friends and I from Halloween. I was Sexy Satan, Chris was Zomboy, and Jaybird was looking kind of like the Crow. I swear they were the only two people in all of New York that night to actually wear scary things, which is the goal anywhere else in the country that night. Oh well, if us New Yorkers wanna be over the top, we sure know how to do it! My full costume wasn’t exactly NSFW, but lets just say that you had to be there *wink wink*

What did you dress up as?

Nov 4, 2009 02:31 PM

Lee Sean Huang 2010

Live Web: Shared Object, Failed Conversation

odiamosharedobject

Last week in Live Web, we learned about using Shared Objects in Flash and Canvas in JS/HTML. For my homework, I used the ODI and AMO characters I created last year and reimagined in a Shared Object Flash chat. Check it out here. Click on the text field and type new captions for ODI or AMO to say. The Shared Object should sync up with other people viewing the page to reflect the changes.

It kind of works and kind of doesn’t work. Part of it is my buggy code. Part of it is because AMO doesn’t actually have a mouth.

Nov 4, 2009 01:10 PM

Craig Kapp 2010

Avatar Cleanup on Aisle 5

I’m currently reading Neal Stephenson’s “Snow Crash” and, as a follow up to last week’s exploration into Machinima, our class was asked to construct our own machinima piece based on a scene from the book.

This is my first attempt at actually making a machinima short, and let me tell you, it’s not easy!  Setting up camera angles, scripting behaviors, dealing with video capture issues, not to mention writing the dialog, storyboarding shots – it’s quite a bit of work.  The scene I chose to recreate is from a portion of the book where the main character (”Hiro Protagonist”) is describing how he coded the Metaverse’s “cleanup” routines that get invoked after an avatar “dies” within the virtual world.  The dialog is adapted from the original text.

As an aside, it must be that I’m reading Snow Crash, but everywhere I go I’m seeing connections to the creepyness that Neal Stephenson puts forth in his book.  Take, for example, this picture I took at a local 7-11 convenience store.  Celebrity gossip + Virtual Worlds + Combat Handguns all on the same shelf.  The end is near.

MJ + The Penguin + Vigilante Justice

And this image I found while doing research into virtual worlds for kids really struck me as downright weird for some reason.

kind of creepy.

kind of creepy.

Nov 3, 2009 10:44 PM

November 03, 2009

Sara Bremen 2010

Crary and Manovich

In addition to his discussion of the political role of spectacle, I found most interesting Crary’s reference to Debord’s view of spectacle “as the annihilation of historical knowledge” (106).  With each spectacle, a new opportunity arises not only for those “in the business of selling novelty” but also for the viewers to forget their own [...]

Nov 2, 2009 11:16 PM

Lee Sean Huang 2010

Wiimote as MIDI controller

This week I got my Wiimote to act as a MIDI controller using OSCulator, which uses Bluetooth to sync the Wiimote to my Mac, and then maps the Wiimote accelerometer and button press values to MIDI, which is then used to control a custom patch in Logic Pro.

Nov 2, 2009 08:05 PM

November 02, 2009

Jelani John 2010

Into the Looking Glass

There is a super-natural force in this world that, for lack of a better name, is known simply as “The White Rabbit.” This being is the guardian of the gates between worlds. Though seeminlgy uninvolved, it is believed by an enlightened few that it holds a large malevolent force at bay by the virtue of [...]

Nov 2, 2009 06:59 PM

Elias Zananiri 2010

Typ09 Recap

The Typ09 conference came to a close on Friday and it was a really interesting experience. Type design is a whole world that I didn’t really know much about, considering the fact I’ve been working on NextText for over three years.

It had been a while since I had attended a conference, and although I usually have a problem with the closed bubble around these events, this was very refreshing. It was the first professional conference I attend, and was very different compared to academic ones. A large percentage of speakers focused on specific companies and projects, to the point where it sometimes felt like advertising (and in a sense, it was)

There were presentations on a wide range of topics: type-oriented university programs, focusing on single characters (like accents or quotation marks), web fonts, the step-by-step development of a specific font, etc. It was interesting to see that, much like in other spheres, there is a very prevalent nostalgia on the “old-school”. This could be seen in the many lectures on traditional foundries and handmade fonts.

My two favourite talks were coincidentally about typography in Brazil. Lambe-lambe Letters by Catherine Dixon and Henrique Nardi went through the process of creating posters in a lambe-lambe printshop. The letters are carved out of wooden blocks and printed on wheat paste paper using a manual printer. The movies were compelling; it was captivating to see the process and how spacing is calculated by adding shims between the blocks. Brasilêro Project by Crystian Cruz was about the process of designing a font based on hand-lettered signage found in Brazilian cities. It was quite interesting to see a typeface that started on the streets end up in magazines, books, and the web.

Nov 2, 2009 04:32 PM

Diego Rioja 2010

[bed_Data]midterm

The bedData project takes sensor values from 90 FSRs that Mustafa Bagdatli and I built over the summer in hopes we could visualize your bed habits. The FSR matrix is composed of 6 columns and 15 rows. We began installing the sensors on Thursday October 29 on the “nap” station here at ITP. Matt Richard joined us and helped create a snake game that is controlled by rolling around the bed. Matt also bundled all the visualizations into one processing sketch. Thanks to Michelle Myer for taking a few shots our process.

Concept: To be able to track and represent your unconscious and conscious behaviors in bed.

Software: Processing and Arduino

Hardware: Arduino, 6 analog multiplexers, plenty of wires, and DYI FSRS.

Visualizations:

  • BlobTracking
  • CircleMatrix
  • SnakeBed
moose's visualization D__o vis testing circles mooses vis test matt coding snakeBed game

Process:

90 sensors were built during the Summer (June’09).  Nothing happened.

We began setting up the project on Thursday evening and finished on Saturday. Something happened. Our first breadboard didn’t work, so we moved to using Mustafa’s shields which had a problem. We ended up rewiring the set up for the 3rd time to breadboards we put together on Saturday morning and all sensors finally worked. We were happy.

The mux shield for the arduino came in on friday, here is what Mustafa created:

Here are some videos from Sunday night:

Lessons Learned:

  • Stick with breadboards for any sort of prototyping
  • Wire manage!
  • 10k resistors can smooth out values

Midterm for Rest of You Fall 2009.

Nov 2, 2009 01:23 PM

Caroline Brown 2010

Rest of You: Controlling Video with Heart Rate

In working with the HRMI over the last few weeks, I’ve been intrigued by how easy it is to manipulate my own heart rate, either slowing it by sitting still and breathing deeply, or speeding it up simply by waving my arms a little. I also happened to watch some video of jellyfish, and I noticed that the rhythm with which they move is reminiscent of a heart beat or pulse. So, this week I decided to make a little game/tool for myself. I created a Processing sketch that uses the data from the HRMI to control playback of a video of swimming jellyfish. When my heart rate falls within an average range, the video plays back normally. If my heart rate slows, the video plays faster and faster; if it rises beyond the average range, the video slows down. In this video, you can see the heart rate displayed in the Processing window while the video plays.

Jellyfish movie controlled by heart rate from Caroline Brown on Vimeo.

HRMI + video playback code

Nov 2, 2009 11:22 AM

Jelani John 2010

Recently viewed a TED talk by jonathan harris. It was pretty good. The main thing that started me thinking was his comment on breaking a story into colors. I’d never thought of a story having a color before. Also, all of the projects shown there were not your average storytelling projects. It really makes you [...]

Nov 2, 2009 04:25 AM

November 01, 2009

Jason Rosado 2010

[Future of Television] APIs + CoverPop

The following is our homework submission for the Future of Television blog:

This week’s blog post assignment has us focusing on APIs and how they relate to the television watching experience. In doing some last minute research (”we had to do a blog post this week, too?!?”), Team Melo is happy to share some thoughts on the topic. A quick Google search netted this article which highlights some of the better APIs out there.

We were then happy to come across CoverPop, which is based on the YouTube API which was highlighted in the above referenced article as one of the better (if not the best) available APIs. CoverPop takes images from the most popular YouTube videos of particular genres and literally brings them all together in a digital collage. A click on the image will explode the image larger on the screen, and double click will bring the user to the actual video on YouTube.

This interface speaks to traditional methods of navigating through different physical photos (like back in the old days) and finding some that catch your eye. As a lean-forward digital experience this is certainly different and worthy of exploring, especially in light of upcoming innovation such as surface computing

Coverpop example

Also on that vein, is an interesting mobile site by some guy named Tom Robinson that leverages mobile phone touch screen interfaces and the same kind of navigation shown in CoverPop. Check it out on your iPhone or Android.

Nov 1, 2009 07:50 PM

Sara Bremen 2010

New York Historical Society

The large sign outside the building read “New York Historical Societ: Making History Matter.”  Part of me thought, Ouch.  That’s trying a bit too hard.  And then again, part of me thought, Go for it.  Make history matter. Overall, the society did.  The exhibit was thorough and thoughtful and engaging, without being overloaded (maybe a little [...]

Nov 1, 2009 10:51 AM

Lee Sean Huang 2010

Sweet Potato Gnocchi Gratin

I improvised this sweet potato gnocchi gratin for a night in with Elizabeth and Catherine.

gratin

Ingredients

2 tablespoons of butter
2 tablespoons of flour
2 cups of milk
1 teaspoon of herbes de Provence
1/4 teaspoon of pimentón (smoked Spanish paprika)
1 heaping tablespoon of white miso
1 half package of Neufchatel or cream cheese
2 handfuls of grated Gruyère
1 egg, beaten
Olive oil
1 onion, finely sliced
2 cloves of garlic, chopped
6 fresh shiitake, chopped
2 roasted red or yellow bell peppers, chopped
1 large apple, peeled and chopped into bite-sized pieces
Half package of membrillo (quince paste), chopped into bite-sized pieces
1 package of frozen sweet potato gnocchi
1 slice of whole wheat toast, blended into crumbs and sautéed in olive oil
Salt and pepper to taste

gnocchi

ingredients

Instructions

Preheat oven to 400 degrees.

Make the Béchamel cheese sauce: melt the butter in a small saucepan and whisk in the flour. Add the milk, herbs, and pimentón. Bring to a boil and reduce heat. Whisk until the sauce thickens. Turn off the heat and mix in the miso and the cheese while the mixture is still hot.

Cook the vegetables: in a large (12 inch) cast iron pan or other oven-proof pan, heat up some olive oil and sauté the onions and garlic until they start to brown. Then add the shiitake and cook until lightly golden. Add the bell pepper and sauté for another minute or two. Turn off the heat and stir in the apples and the membrillo.

Cook the frozen gnocchi in boiling water for 1 or 2 minutes, until the just start to float. Drain and add the gnocchi to the vegetable mixture. The sauce will have cooled off slightly by now. Whisk in the egg and pour the mixture into the pan and mix.

Bake the gratin in a 400 degree oven for about 30 minutes. Add the bread crumbs on top for the last 10 minutes of baking.

Oct 31, 2009 11:36 PM

Robert Carlsen 2010

Arduino in Eclipse

This tutorial describes how to set up Eclipse for Arduino (AVR) C/C++ development. Eclipse is a full-featured Integrated Development Environment with modern editor features such as syntax highlighting, code completion and error checking. I became interested in using Eclipse for Arduino development as I’m often simultaneously developing firmware for the chip and visualization software in a Java / Processing applet. Since I’m already using Eclipse for Java / Processing, it’s nice to be able to work in the same environment for both.

The Arduino site has a decent walkthrough, but I found some of the steps to be confusing or outdated. Hopefully, this will get you up and running quickly.

Contents

Overview

Most of this setup will have to happen once, then starting new projects is typically as easy as duplicating a simple, skeleton project. Getting the paths and configuration options correct for this initial project was the most confusing for me, but I haven’t needed to tinker with them again.

To begin, download Eclipse for C/C++ Developers, or install the C/C++ plugin for your existing Eclipse version (these instructions assume Eclipse 3.5 Galileo). To install an Eclipse plugin:

  • install newOpen Eclipse. Navigate to Help > Install New Software…
  • Select CDTSelect CDT from the drop down menu. If CDT is not present, then click the add button and paste the link to the plugin update site in the Location field: http://download.eclipse.org/tools/cdt/releases/galileo
  • Select Eclipse C/C++ Development Tools, then click “Next >” and “Finish” on the following screen. This may prompt you to restart Eclipse, however select No so we can install the next plugin.
  • AVR pluginAVR tools. You should install tools appropriate for your platform:
    • Mac OS X: CrossPack (Note: I’m targeting this tutorial for an OS X system)
    • Linux: apt-get install avrdude binutils-avr gcc-avr avr-libc gdb-avr
    • Windows: WinAVR

Setup Eclipse

AVR Paths

After the plugins have been installed they need to be configured. Specifically, the paths to the AVR Tools need to be verified.

  • Open the Eclipse Preferences: Eclipse > Preferences. Twirl down the AVR category and select “Paths”. Verify that the paths have located the correct AVR toolkit (CrossPack-AVE on OS X). You can edit these fields as necessary.
  • AVRDudeSelect the AVRDude category. I’ve found that I need to add a Programmer configuration for each Arduino (or USB to Serial adapter) that I use. Please let me know if you can get a better solution working with wildcards.
    • Give this configuration a descriptive name. I’m using “Arduino Diecimila”.
    • Select “Arduino” as the Programmer Hardware
    • Enter the correct port for your Arduino. You can display this by plugging the Arduino into the computer, opening the Terminal then typing: /dev/tty.usbserial then hitting the Tab key. The remainder of the port name should appear.
    • Set the baud rate to 19200
    • Click OK. Then close the preferences.

Create an Arduino project

For the first project you’ll need to manually set up the configuration. I’d *highly* recommend making a basic blink sketch, then duplicate it for each new project. This is what the tutorial will set up. Alternatively, you can try importing this basic project, but may have to set up the paths for your system anyway. Eclipse Blink Sketch

  • Go to File -> New -> C Project
  • Select Empty Project under AVR Cross Target Application and name the project “Hello_Blink”.
  • Click Finish.
  • Select the “Hello_Blink” project in the Project Explorer panel, then navigate to Project > Properties menu.
  • Twirl down the AVR category and select AVRDude.
    • Select your Arduino from the Programmer configuration menu
  • Select Target Hardware at left.
    • Ensure that your Arduino is plugged into your computer via USB (and is powered on).
    • Click “Load from MCU”. This should query the Arduino for it’s type and detect it correctly.
      • If this doesn’t work, typically the Diecimila is an ATmega168 while the Duemilanove is an ATmega328

Each Ardiuno project needs to include the Ardunio core library. This file is compiled automatically by the Arduino IDE. While you could compile it yourself in Eclipse, the easiest way to get it is to build a simple sketch in the Arduino IDE, then copy the “core.a” file into your Eclipse project.

  • core.a fileStart the Arduino IDE
  • Open the Blink sketch (File > Examples > Digital > Blink)
  • Click the “Verify” button to compile the sketch
  • Select Sketch > Show Sketch Folder
  • Drag core.a into your Eclipse Hello_Blink project to copy it in.
  • Right-click on core.a, select Rename and change it to “libcore.a”

Now we set up the correct building settings:

  • Twirl down C/C++ Build and select Settings
  • Select “Additional Tools in Toolchain”
  • Check the following:
    • Generate HEX for Flash Memory
    • Print Size
    • AVRDude
  • Uncheck Generate Extended Listing
  • Select AVR Compiler
    • Change the command from avr-gcc to avr-g++
  • include pathSelect AVR Compiler > Directories
    • Add an Include Path to the header files within the Arduino.app bundle (look at the screenshot)
    • You can right-click on Arduino.app and select Show Package Contents, then navigate to the Contents/Resources/Java/hardware/cores/arduino folder
  • Select AVR Compiler > Debugging
    • Set “Generate Debugging info” to “No debugging info”
  • Select AVR Compiler
    • Set the Optimization level to Size Optimizations
  • Select AVR Assembler > Debugging
    • Set “Generate Debugging info” to “No debugging info”
  • core libSelect AVR C Linker > Libraries
    • Add a library named “core”
    • Add a library path. If libcore.a is in the Hello_Blink project folder, the path will be “${workspace_loc:/Hello_Blink}”

Add a new main.c source file

This file will contain your typical Arduino sketch code. There are additional bits of code that are typically added automatically by the Arduino IDE which need to be explicitly written in Eclipse. Feel free to copy the below code.

  • Go to File > New… > C Source File. Name this file main.c
  • Paste in the following for a basic blink sketch:
#include "WProgram.h"

// prototypes
void blink(int n, int d);

// variables
int ledPin = 13; // LED connected to digital pin 13

void setup(){
Serial.begin(9600);	// opens serial port, sets data rate to 9600 bps
pinMode(ledPin, OUTPUT);      // sets the digital pin as output
Serial.println("------------------");
Serial.println("   hello world");
Serial.println("------------------");
}

void loop(){

  blink(3, 50); // blink led (n times, ms interval)
  delay(1000); // wait 1 sec
}

void blink(int n, int d){
  for (int i=0; i<n; i++) {
    digitalWrite(ledPin, HIGH);
    delay(d/2);
    digitalWrite(ledPin, LOW);
    delay(d/2);
  }
}

int main(void)
{
init();

setup();

for (;;)
loop();

return 0;
}

Building

When you’re ready to build and upload to the Arduino, click the Hammer icon. This should compile your program and then run avrdude, which uploads to the Arduino.

New projects

Duplicating a project in Eclipse is as simple as selecting the source project in the Project Explorer panel, copying it (Edit > Copy) then paste. Eclipse will prompt you for a new name , then will create a new, duplicate project in the workspace.

If you keep the blink sketch intact, you should be able to duplicate it each time and avoid the above setup.

Follow up

perspectives

You should be all set to work on Arduino projects in Eclipse. Note that Eclipse uses various “perspectives” for different modes and programming languages. Typically, you’ll be working in the C/C++ perspective while working on Arduino code. If you’d like to switch back to the Java perspective for working with Processing, select it from the perspectives at the upper right of the main window, or Navigate to Window > Open Perspective > Other…

Oct 31, 2009 11:06 PM

Craig Kapp 2010

Machinima Sampling

Last week I sat in on a guest lecture given by Paul Jannicola and Kerria Seabrooke from ILL Clan studios.  For those of you who aren’t familiar with their work, ILL Clan produces cutting-edge Machinma pieces using Second Life.  Paul and Kerria presented an in-depth look into the production side of the Machinima business, and showed off some of their filming sets, including the set for their hilarious new series, “Tiny Nation”

Inspired by their work, I decided to poke around and come up with a short playlist of Machinma videos that I found amusing or noteworthy.  Here are my top five to date:

Election Duel!  Obama V. McCain – Who Get’s Pwned?

Produced before the 2008 presidential election, “Election Duel!” offers a humorous look into how players of the incredibly popular “World of Warcraft” MMORPG felt about the two major candidates, Barack Obama and John McCain.  I found it interesting that, with over 11million players, Azeroth (the world in which WoW is set) would be the 8th largest state in the USA if it were a recognized territory.  This video attempts to determine if Azeroth would be red or blue using a series of informal polls and interviews with WoW players.

Man vs. Second Life

In “Man vs. Second Life,” we watch as our fearless narrator (Adam Steele) takes us undercover into the wilds of Second Life.  Treating Second Life as though it was an unexplored jungle filled with dangerous wild animals, Adam attempts to explain the Second Life phenomena as though he was on a National Geographic expedition.

World of Warcraft is a Feeling

“World of Warcraft is a Feeling” is a music video that goes along with episode 6 of the Pure Pwnage series. In this episode we watch as the main character (Jeremy) begins to fall for “MMO Girl,” an avid World of Warcraft player.  Their romance blossoms in-game while the two are serenaded by a schmaltzy WoW ballad.  Listen to it once and you won’t be able to get the chorus out of your head for a week (”World of Warcraft is a feeling, who needs a social life?  Can’t wait to log in, and hop on a gryphon.”)

Impressions

Found on one of my favorite new blogs (Not Possible In Real Life), “Impressions” is a beautifully rendered piece that showcases some the most amazing creations to be found within Second Life.  After watching this short I came away thinking that, at some level, the hype is true – if you can imagine it, you can probably build it in Second Life.

The Candy Coated Wonder Road – “Rudy’s Amazing Space Adventure”

Filmed using Halo, “The Candy Coated Wonder Road” is a parody of kid-oriented TV shows such as Dora the Explorer and Sesame Street.  Funny stuff, especially if you’ve ever played Halo yourself.  Favorite line:  “I think we’ve all learned a valuable lesson today.  If you’re going to go to the moon, don’t bring your wallet, because there is nothing to buy there.  And there are pirates.”

Oct 31, 2009 08:29 PM

October 31, 2009

Lee Sean Huang 2010

Halloween 2009

『吾輩は猫である』
Cat + Keytar = Catar (sounds like Qatar, the country in the Middle East)
catar

Oct 31, 2009 06:07 PM

Juri Imamura 2010

Live Web: Webcam Zoo (first prototype)

This post is a summary of my midterm project for Live Web. Concept: “Webcam Zoo” Webcam Zoo is a website that aggregates streaming and live videos of different animals from zoos and parks around the world to offer a collective viewing experience 24/7. The concept is based on my experience with animal webcams. I like to watch animal [...]

Oct 31, 2009 01:28 PM

October 30, 2009

Caroline Brown 2010

Cabinets Week 8: Museum Design Manifesto

A few favorite museum experiences

A few favorite museum experiences

Week 8: time to distill what we’ve loved and hated about all of our museum visits over the past few weeks into our own experience design manifestos. Here’s mine…

Transport and/or transform the audience, if only for a moment.

Inspire wonder, curiosity, and delight, even in the face of difficult subjects.

Expect the best from visitors; don’t limit engagement with the public to the level of the lowest common denominator. Provide for multiple points of entry to material.

Exclude gratuitously interactive exhibits. Any interaction should support a clear purpose.

Have a sense of humor– about the materials, about the museum itself.

User test at least at the prototype stage, preferably more.

Invite people who genuinely care about the materials to share their passion for those materials with others.

Be flexible and self-aware, adjusting and reframing museum contents appropriately, and addressing mistakes.

Offer an opportunity to read, but don’t require it or rely on it as the only method of explanation.

Compel a sense of “flow” in visitors (i.e. help them feel engaged and challenged, but not overwhelmed).

Convey a mood relevant to presented materials and inspire appropriate behavior in visitors.

Avoid using signage as a crutch.

Provide surprises and mental treats.

Stick to the main idea for any given exhibit.

Furnish adequate space for reflection.

Use people’s emotions to help them identify with stories and engage with materials, but don’t abuse this power.

Be a gracious host.

Do not employ security methods that intimidate visitors.

Provide opportunities for visitors to pursue further learning about the material presented.

Food, if offered, should be delicious and reasonably healthy. Otherwise, provide recommendations for dining nearby.

Be an integral member of the neighborhood (whether virtual or physical). Be ready to provide directions, suggest itineraries, and pass the time of day, like any good neighbor.

Ignore any of the above tenets, but only with well-considered intention and purpose.

Images:
Jellyfish at the Monterey Bay Aquarium
Tell the Bees at the Museum of Jurassic Technology
Joseph Beuys: Multiples at San Jose Museum of Art
Miss Rockaway Armada at Mass MoCA
The old Getty (now the Getty Villa)

Oct 30, 2009 12:49 PM

October 29, 2009

Elias Zananiri 2010

Typ09 Workshops

We gave our NextText and Mr. Softie workshops today and it went really well. The turnout was a little lower than expected but that ended up being a good thing as we almost had a one-to-one presenter-student ratio. I was a little nervous leading up to the workshops as I realized over the first few days that type designers are not too keen on having their meticulously constructed glyphs tweaked by our software.

The NextText workshop had an extra challenge which was that we had to also teach the basics of programming in that 3-hour slot. It was a lot to cover, but the participants made it through and seemed to have a good handle on things towards the end. A few points to keep in mind for next time:

  • When going over the basics of programming, starting with functions before covering variables makes more sense. Functions can be used with literals at first and then variables.
  • When building a set of behaviours, it is really helpful to draw the behaviour tree, and to modify it as the code progresses.
  • We should have a basic sample sketch for each behaviour to show what it does. This should be included in the documentation, similarly to how it is done in the Processing reference.
  • Some of the behaviours should be renamed to something more intuitive.
  • We need a simpler way of creating behaviours. Perhaps bringing back the factories would be a good solution for this.

I would be very interested in trying this out again with experienced programmers. This would be ideal to test out the documentation and see how easy it is to understand, navigate, etc. It would also allow more time for free play, resulting in more complex and polished sketches.

The Mr. Softie workshop was a lot of fun and was actually the most time I ever spent in the software. In comparison with NextText, it was easier to grasp as the participants could start working on their visual sketches fairly quickly, and a lot of good looking work came out of it. A good measure of the success was that most people came back after the second break and some even told their friends to pass by and check it out.

  • The Textpad is a great tool and has a lot of potential. One feature that would be good to add is to toggle whether white space is sprayed or not.
  • The GUI could use a few improvements, mainly swapping the many drop-down menus for sliders, checkboxes, and radio buttons.

Oct 29, 2009 07:44 PM

Craig Kapp 2010

Inflatable 3D objects for Second Life

This morning I stumbled across an amazing tool while doing some background research for an augmented reality project I’m currently working on.  The tool, which goes by the name of PloppSL, lets you create or import 2D drawings within a kid friendly environment and “inflate” these objects into 3D mylar baloon-esque creations.  For example, here’s a quick snail that I drew and the resulting 3D balloony object.

2D Snail that I drew inside PloppSL

2D Snail that I drew inside PloppSL

The same snail, "inflated" into 3D!

The same snail, "inflated" into 3D!

PloppSL can also import PNG images for those of you who want to construct objects outside of their interface.  Here’s a PNG of a clip-art pumpkin extruded into a pillowy 3D object:

3D Pumpkin Patch

3D Pumpkin Patch

And here’s the best part – once you’re done you can export your creation as a sculpture map that can be imported directly into Second Life.  Here’s my little snail crawling around in-world:

3D Snailz

3D Snailz

My next step is to see if the resulting texture map can be used in Flash.  Fingers crossed!

PS:  If you’re interested in getting started check out this video tutorial – it covers everything you need to know to get started.

Oct 29, 2009 02:40 PM

Juri Imamura 2010

The New Yorker’s cover for Halloween

I was reading an article on boingboing about an incredible illustration by Chris Ware for The New Yorker magazine, and I had to post this to my blog. It’s beautiful. Here’s a link to the article: http://www.boingboing.net/2009/10/27/chris-wares-new-york.html

Oct 29, 2009 01:22 PM

Dimitris Makris 2010

Passage

Early in the afternoon of Wednesday, Oct. 21st, Dimitris walked extremely slowly across the ITP floor while Andrea was documenting the performance on video. That was “Passage”, created as a midterm project for Recurring Concepts in Art.

The assignment was to recreate an earlier technological piece without the use of technology. Moreover, the project had to be informed by the theoretical concepts discussed in class.

The work that served as the original was Heartbeats Left: a countdown of the remaining heartbeats of Dimitris Makris based on actuarial data according to which a 30-year old male has 46.58 years remaining to live. Heartbeats left highlights our diluted perception of the passage of time and performs a transformation that is applied to temporal perception by magnifying the rate of change. Thus, it renders the rate of change more conspicuous and aims to address our ephemerality and, more importantly, our attitudes towards that characteristic.

Passage, like Heartbeats Left, also employs a transformation: the quantity transformed is time itself and this is achieved by slowing down the movement. The title “Passage” is an implicit reference to the celebrated “On the Passage of a Few People through a Rather Brief Moment in Time: The Situationist International 1956-1972”, a phrase that, in turn, can be read as containing some reference to the ephemeral, thus linking it back to Heartbeats Left.

The choice for situating this piece on the ITP floor reflected the desire to appropriate and, as a result, activate that space, in terms of performance. This intention was informed by Goffman’s notion of the performative aspect of daily interactions according to which any interpersonal encounter involves some degree of curating one’s own self-image. The choice of setting up a performance piece was a way to emphasize the constant yet latent performative character of the ITP floor that is a hybrid between private and public space. The process of documentation also provided intriguing observations as people had to negotiate their response to the virtual space defined by the camera and the performer. Does an episode acquire increased legitimacy by the very process of documentation? On another note, does an undocumented act exist less than a documented one?

The notion of the Spectacle is strongly linked to the above account. Daily interpersonal performances constitute, in and of themselves, episodes of the Spectacle. Arguably, the Spectacle cannot be escaped, as it will always contain us. However, one can puncture it by, if anything, acknowledging its presence. The two poles associated with the Spectacle are not those of endorsing or rejecting it. Rather, the operative poles are of being aware of it or not being aware of it. The power of the Spectacle lies in its concealment, in the unsuspecting swallowing of its conditioning by which agency is forfeited. Thus, any gesture towards the Spectacle constitutes an acknowledgment of its function. Related is the notion of the Carnivalesque as the fear of appearing nonsensical lies at the core of daily conformism dictated by the internalized panopticon. Indeed, the palette of possibilities needs to be exercised to retain its functionality, else it atrophies.

Oct 29, 2009 03:35 AM

October 28, 2009

Jelani John 2010

I Love You

An animation I worked on with Tim Haynes. “I Love You” from jjohn on Vimeo.

Oct 28, 2009 04:45 PM

Nahana Eli 2010

The (Physical) Suspension of Disbelief


This piece questions the societal  obsession with making it to the “top” and the cultural dissonance that derives from it. The master narrative of climbing up and discovering treasure (Jack and the Beanstalk, Corporate Culture, etc..) is pervasive in this society. But those treasures have become corrupted by the obsession with materiality. The “morals” broadcasted to us by higher authorities are no longer our own but the formulation of averages and what is deemed to be good for the common man(Got Milk?). At the same time, the idea of individuality and singular achievement (ladders can only be climbed by one person at a time) is sold to the masses. The idea that you will have more as you  climb higher may be possible in today’s world but the true question is what will you have more of?

Parameters: Create an Exploded Comic where three events occur in 3-dimensional space

Materials: Found Objects and Spoilt Milk

Oct 28, 2009 02:53 PM

Karla Calderon 2010

Cabinets of Wonder: Manifesto

Through art and science, we aim to stimulate, inspire and make curious the viewer. This is a place to imagine and experience, ponder and wonder. Both reverie and deep contemplation are welcome as are furtive glances and downright stares. The goal is to illuminate and edify by limiting the amount of accompanying text and instead to engage and spark the senses. Our aim is to open and highlight

Oct 28, 2009 01:43 AM

Elias Zananiri 2010

First Impressions at Typ09

I just arrived in Mexico City today and after a short stopover at the hotel, headed downtown to the Typ09 conference.

The presentation layout is one of the best I’ve seen. The talks are given in the interior courtyard of the Museo Interactivo de Economía (MIDE). The podium is in the centre of the room and chairs are placed all around. Sixteen screens are installed on the perimeter of the room (four per wall), displaying the presenter’s slides. No matter where you are sitting, you have a good view of the presenter and her presentation. I can’t help but think about Most Pixels Ever and how this is a great setup for a multi-channel installation.

Kevin Larson from Microsoft gave a talk today on how typefaces have personalities and the research behind it. It was an interesting topic, but I felt like it needed more substance. Most of the points seemed obvious and felt like he was preaching to the choir, and the rest could have used actual statistics and data.

Oct 27, 2009 09:40 PM

October 27, 2009

Rory Nugent Adjunct

NeuroSky Mindset with Processing

NeuroSky Mindset

Awhile back I tried my hand at parsing the output from a NeuroSky Mindset brainwave headset without too much luck. I kept running into issues with the data stream, and with no support from NeuroSky I put it on the back burner for awhile. Today I thought I’d give it another shot and funny enough, found all my questions answered on the NeuroSky Knowledge Base.

I made a lot of headway (no pun intended) and eventually put together a Processing sketch that successfully parses the MindSet packets and saves them into global variables for use.

Download the MindSet Parser for Processing.

Please let me know if you end up using my code or make any improvements to it. I’d like to incorporate any changes made by myself or others going forward.

Oct 27, 2009 04:12 PM

Command line output to TCP/UDP port

traceroute www.google.com > /dev/tcp/localhost/9999

This simple command in the mac terminal, linux, or unix will take the output of the traceroute command and send it over port 9999 using TCP to the localhost. At first I was very exciting about this thinking it would leverage the power of the command line to give additional functionality to things like Max/MSP but that was until I learned Max had a 3rd party ’shell’ object. Oh wells, still really cool and worth putting in the toolbox.

Oct 27, 2009 12:45 PM

Diego Rioja 2010

dynamic web dev [midterm]

For DWD I’m following up with a bartender tagging project that came out of ITP30’s 1×1 (one project, one day). The concept was a collaborative effort between alumni (stella kim, kristin o’friel) and current student ruxy staicut. The idea is to tag your bar experience and inform a group of friends.

tags table

tags_tabe

users table

login_tabe

Link to code:

Next Steps: have sign up page add new users, develop better table structure so user can share links and be able to access different tags. e.g. $2 pbr special….needs to connect to “when” and “where.”

Oct 27, 2009 12:21 PM

Juri Imamura 2010

Cabinets of Wonder: ARTS Building, Chelsea

Entrance of the ARTS Building. Can you tell if this is a gallery building or not? For Cabinets of Wonder this week, I walked around Chelsea Art District and went to a building called “ARTS Building” where 19 galleries are located. At a glance, this building looks like one of the typical manufacturing houses or [...]

Oct 27, 2009 02:35 AM

Diego Rioja 2010

Speed_Dater[midterm]

I worked with Ozge K. on this project.

“So Why speed date? Speed stream date!”

Concept: We wanted to recreate a speed dating experience through online video streaming. Our audience are busy and adventurous individuals that would like to meet new interests based on looks. For the midterm we wanted to create the first stage of the big picture. The first stage is a loop of streams of the participants, which switch every five seconds. We wanted to recreate the first impressions hook that can take you further into our dating journey. Our project was able to display streams from everyone in the class, and have them cycle through randomly until you wanted to stay and talk with that person.

Project Link: SpeedDater (use: User1-User6 as log in for now)

Research: WooMe.com

Tech Involved: JavaScript, PHP, Flash Media Server, Flex.

Next Steps: We had trouble linking each person synchronously. A notification of who has selected you can solve this problem.

midtermpic3

Here Ozge and I testing the project with different html pages for the broadcast and player.

midtermpic

I found out I’m a pretty boring date. You shouldn’t be able to speed date yourself.

midtermpic2

Jill and I chatting.


Thoughts: The speed dating concept is fun, but I was more interested in the interaction of having random people to talk to for 5 seconds. I once saw a speed date event happening at Royal Tea in LA. I found the whole thing ridiculous and though, what if you only had 5 seconds to impress someone? The nano version if you will of speed dating. Super speed dating…yea ridiculous, but what would you do with a strange if you had 5 seconds?

Oct 26, 2009 08:55 PM

October 26, 2009

Ted Hayes 2010

Ad-Hoc Architectures

Plastic tarp rain-sheds put up under the scaffolding next to the Tisch building on Broadway.  The tarps really affect the space of the sidewalk-scaffolding corridor in an interesting way, making it feel more intentional and … agreeable.

Share/Bookmark

Oct 26, 2009 06:33 PM

Elias Zananiri 2010

NextText Workshop at Typ09

I will be teaching a NextText for Processing workshop at ATypI’s Typ09 conference in Mexico City with Jason Lewis.

The workshop will consist of a presentation of works produced with NextText, an introduction to Processing, an introduction to the NextText library, and the creation of typographic compositions by the participants.

A new version of NextText has been released for the workshop and is available on our Google Code repository. This is a sneak peek of the many new features in the next major revision of the library (which is almost done with testing).

We are also having a Mr. Softie workshop on the same day, led by Bruno Nadeau and Jason Lewis. Mr. Softie is an application for typographic manipulation based on the NextText framework.

The workshops will take place on October 29 at Anahuac University.

For more info:
Computational Typography for Beginners using NextText for Processing
Bending Letterforms with Mr. Softie
Speaker and Presentation Details

Oct 26, 2009 04:43 PM

Jonathan Ystad 2010

Foodventures: Brunch at Palais du Lee-Sean


This weekend, the brunch crew switched it up a bit and had brunch at Lee-Sean’s plush place. I subbed it all the way to Canal, then realized the R and W weren’t running to Rector, and found that I needed a cab. I tried six different times to get a cab, and they were failures. It was really frustrating because it was raining, and I was starting to smell like Chinatown. Bleh.

When I finally got a cab (Jesus!) and made it to Lee-Sean’s I was treated to a scrumptious brunch with Elizabeth, Maddy, and Catherine. Drool over our foods and Lee-Sean’s kitchen mastery (and Catherine’s mimosa mixing skills).

Here’s a Jon’s eye view!

Oct 26, 2009 04:00 PM

Tom Igoe Faculty

Reading data from a uLog logger, saving to a file

Here’s a Processing sketch that takes data from Sparkfun’s uLog datalogger via a serial port, and saves the results to a file. To use this, you’ll need: uLog datalogger with some data on it USB-to-serial adaptor; there are many types out there, but I used this one. /*     uLog reader    This sketch reads data from SparkFun's uLog data logger  (sku: WIG-09228) and saves the results to a file.    created 26 Oct 2009  by Tom Igoe      To use it:  1) Connect logger to a USB-to-serial adaptor    * Logger RX to Serial TX    * Logger TX to Serial RX    * Logger ground to Serial ground    * Logger 3.3V to 3.3V  2) Run sketch.  Type 'r' in the window to read data  3) From the Sketch menu, choose "show sketch folder".   The resulting file is called "datalog.txt"  4) When you get a ? prompt, you can erase data from the logger by typing 'e'    */ import processing.serial.*; Serial myPort;                  // instance of the serial library String dataString = ""; [...]

Oct 26, 2009 12:17 PM

Diego Rioja 2010

Mobilize it. Arduino to n95.

Now we are sending data to an N95 via blutooth. I was able to use Dan’s code to just simply get the sensor values to have a complete mobile set up. Having said that, I need to use this set up to be able to detect ambient meta and juxtapose (light, temperature, noise) with my brain frequency (electrodes).

This experiment is aimed to complement my midterm “sleepData” (collaboration with Moostafa). I want to be able to collect ambient meta of your sleeping environment.

The video below shows sensor value being transmitted into the n95 sd card with a mobile processing sketch.

Bluetooth data to n95 from diego rioja on Vimeo.

I’m also curious to use this and collect data from consciousness, to see how distracted I am by noise, lighting conditions, and temperature. Hopefully this experiment can help me understand my own sensors and how can they affect my concentration. The use of an accelerometer  to tell which way I’m looking at is being though.

Oct 26, 2009 11:02 AM