Categories
Uncategorized

Now More Than Ever: Make, Do, Create

Nails

In thinking about how I love to make and create things, be it art, music, electronic things, software, blog posts, cookies, photographs, accessories…. I think about why I want to make and create things, and I think it has to do with a few things.

I’m Cheap. I’ll be the first to admit I don’t like spending money. My regular purchases tend to be things like food, gas, and rent. I pay the bills and I while I do pay for the tools I need to do my work (whether that work is “work-work” or “make/create-work”) I really don’t like to frivolously spend money on things, especially if I think I can make it myself. I prefer baking many of the foods that I eat over buying packaged food. I like knowing what’s in my food, and try to avoid certain things, so this helps a lot.

I’m DIY. I’m not sure how much the Do-It-Yourself label has been diluted (or perhaps spread is a better word) in the past 20 years or so, but 20 years ago I was printing my own zines, and stickers, and patches and t-shirts, and starting my own bands, and booking our tours, and booking shows for other bands, and putting out our own music (all of which was much harder to do without the World Wide Web) and for me, it feels good to do things myself. I see so many services online nowadays that provide things I can do myself, so I do them myself. There’s all this talk about outsourcing everything and putting it all in the cloud, but I often like to do it myself and be in control of things a bit more. I fear we’re creating a generation of people who expect “someone else” to do everything for them.

I’m a Legacy. My dad, and his dad, were both what we now call “makers.” They were both experienced woodworkers who build their own furniture, and could repair things, and had great collections of tools and knew how to use them. To this day, when I visit my mom’s house, I love the fact that the end tables were built by my dad. I’m a terrible woodworker in comparison, but I’ve taken to making other things, and when I do make something out of wood, I tend to paint it black to make it look cool, and to cover up my poor craftsmanship. When I make things, I sort of feel this connection to my family, who also made things.

I’m Fun. Who in the hell would ever think a pair of servos and a puppet would get such attention? Much of my making and creating things is done in the name of fun. Getting an idea and being able to execute it, to me, is a formula for a good time. If others enjoy it, it’s that much better… but I’m fine with being selfish and saying that it’s enjoyment in making and creating things that keeps me doing it.

I’m Cool. OK, I’m probably not cool, but what is cool is that it inspires people, like… my kids. (They might be the only people left who think I’m cool.) My daughter made me a cake and I’m still floored by how awesome it was. Knowing that they see me make things, and in turn want to make things, is top notch. I love it… I don’t even care if I’m not cool anymore.

So my plea to you, dear reader, is to Make and Create… Do Something! Don’t just be a passive consumer, buying a pre-packaged life, figure out what it is that you can bring into this world. If you’ve got ideas, take action on them, make them a reality, don’t be afraid of failing because failing is just what you do before you succeed.

Categories
Uncategorized

Mac Flag

Mac Flag

Mac Flag

(With apologies to Black Flag, Cat Flag, and Pack Flag…)

Categories
Uncategorized

Red What!?

RED What!?

Despite what appears to be confusion in this photo, I really do know how to assemble and operate a RED ONE camera… Really. You need something shot? Let me know. I mean, it’s not like you’re going to shoot it on your Scarlet. Of course, if you’ve got an EPIC, we’d make a great second unit.

Photo by Mike Krukowski (Thanks Mike!) Processing by me and Photoshop CS5.

Categories
Uncategorized

Time Lapse Bot 3

Time Lapse Bot 3

I built the original “Time Lapse Bot” in September 2009 before BarCampMilwaukee4 happened. I managed to get an old office chair that someone was throwing away and thought I could put it to good use to move around the iMac and camera rig I had attached to it. You can see the original Time Lapse Bot post for more info.

The main issue with the original Time Lapse Bot was that if you unplugged it, you had to boot it up again, set the clock, and then restart the image capture. We thought about a UPS to give it a bit of “unplugged” time, but never added one.

Next up was Time Lapse Bot 2 which used an old clamshell iBook in place of the old iMac. This made everything much lighter but because the battery couldn’t hold a charge we still suffered the inability to unplug it and move it while it was running. (We typically solved this problem with really long extension cords.)

Time Lapse Bot 3

Time Lapse Bot 3 is the next step in Time Lapse Bot technology. We’ve taken an old PowerBook G4 (donated by Matt Gauger) which has a good battery in it, and paired it with a Canon ZR800 MiniDV camera, which also has a good battery. The result is a unit that can run on battery (at least for a few hours) and starts charging the batteries as soon as you plug in the AC power cord.

The entire unit is housed in a custom case which allows for easy transport. By “custom case” we’re referring to the plywood box that I constructed and painted black. That’s what we consider the pinnacle of “custom cases” around here.

The software that runs Time Lapse Bot is EvoCam by Evological. It’s $30 and well worth it. It’s feature packed, and rock solid. If you’re putting together a Mac-based time lapse rig that uses a video camera, or a web cam, or whatever, I highly recommend it.

Here’s a few of the time lapse videos we’ve made with the help of Time Lapse Bot.

We’ve finally reached a point where we are fairly pleased with Time Lapse Bot and it’s performance, so this is obviously not the time to sit still and relax. We’re currently working on a few upgrades to Time Lapse Bot, and hope 2011 brings even more Time Lapse Bot goodness to all the folks who enjoy time lapse videos…

(Thanks for reading this. If you’re reading it on Facebook or Google Reader or somewhere else it got syndicated to, consider visiting the original post, especially if you’d like to leave a comment.)

Categories
Uncategorized

Arduino + ShiftBrite Light Organ

Arduino ShiftBrite

If you liked the last Arduino + ShiftBrite post, but don’t like Perl, here’s a Processing sketch for you… It’s a simple Light Organ that lights up the ShiftBrite in a specific color based on pressing a key.

(Once again we’re using the HughesyShiftBrite library.)

Here’s the code for the Arduino, which is pretty similar to our code from last time:

/*
 * LightOrgan.pde - Arduino
 */

#include "HughesyShiftBrite.h";

HughesyShiftBrite sb;

void setup()
  sb = HughesyShiftBrite(10,11,12,13);
  sb.sendColour(0,0,0);
  Serial.begin(9600);
}

void loop() {

  int input = Serial.read();

  switch (input)  {
  case 48:
    sb.sendColour(0,0,0);
    break;
  case 49:
    sb.sendColour(700,0,0);
    break;
  case 50:
    sb.sendColour(0,700,0);
    break;
  case 51:
    sb.sendColour(0,0,700);
    break;
  case 52:
    sb.sendColour(700,700,0);
    break;
  case 53:
    sb.sendColour(0,700,700);
    break;
  case 54:
    sb.sendColour(700,0,700);
    break;
  case 55:
    sb.sendColour(900,300,300);
    break;
  case 56:
    sb.sendColour(300,900,300);
    break;
  case 57:
    sb.sendColour(300,300,900);
    break;
  }
  delay(5);
}

The only real difference here is the colors we are using…

Once that’s loaded on the Arduino, create a new sketch in Processing with the following code:

/*
 * LightOrganController.pde - Processing
 */

import processing.serial.*;
Serial myPort;

void setup() {
  println(Serial.list());
  myPort = new Serial(this, Serial.list()[0], 9600);
  myPort.buffer(1);
  size(200, 200);
  background(0,0,0);
}

void draw() {
  // nothing needed here
}

void keyPressed() {
  if (int(key) == 48) {
    myPort.write(48);
    fill(0,0,0);
    rect(5,5,190,190);
  }
  else if (int(key) == 49) {
      myPort.write(49);
      fill(200,0,0);
      rect(5,5,190,190);
  }
  else if (int(key) == 50) {
      myPort.write(50);
      fill(0,200,0);
      rect(5,5,190,190);
  }
  else if (int(key) == 51) {
      myPort.write(51);
      fill(0,0,200);
      rect(5,5,190,190);
  }
  else if (int(key) == 52) {
    myPort.write(52);
    fill(200,200,0);
    rect(5,5,190,190);
  }
  else if (int(key) == 53) {
    myPort.write(53);
    fill(0,200,200);
    rect(5,5,190,190);
  }
  else if (int(key) == 54) {
    myPort.write(54);
    fill(200,0,200);
    rect(5,5,190,190);
  }
  else if (int(key) == 55) {
    myPort.write(55);
    fill(250,125,125);
    rect(5,5,190,190);
  }
  else if (int(key) == 56) {
    myPort.write(56);
    fill(125,250,125);
    rect(5,5,190,190);
  }
  else if (int(key) == 57) {
    myPort.write(57);
    fill(125,125,250);
    rect(5,5,190,190);
  }
  else {
    myPort.write(48);
    fill(0,0,0);
    rect(5,5,190,190);
  }
}

When you run the Processing code, it will draw a black box on the screen, and if you press any number between 0 and 9 it will change the color of the box, as well as changing the color of the ShiftBrite.

Colors

If you’re lucky enough to have a number keypad on your keyboard (I mean, since Apple stopped including that part of the keyboard) you can go nuts hitting all the keys from 1 through 9 (and zero for “off” or black) and put on a nice little light show.

If you don’t care about the on screen display and just want to control the ShiftBrite, here’s some simpler code:

import processing.serial.*;
Serial myPort;

void setup() {
  println(Serial.list());
  myPort = new Serial(this, Serial.list()[0], 9600);
  myPort.buffer(1);
}

void draw() {
  // nothing needed here
}

void keyPressed() {
  if ((int(key) > 47) & (int(key) < 58)) {
      myPort.write(int(key));
  }
  else {
    myPort.write(48);
  }
}

Since we don’t need to draw anything based on the key pressed, we just look for a key between 0 and 9 and send it over the serial port.

Disclaimer: This code is probably pretty damn basic, but I’m a fan of documenting the process, and I’m still learning (and having fun!) and I hope someone finds it useful. If you’ve got suggestions or improvements, let me know… thanks!

(Thanks for reading this. If you’re reading it on Facebook or Google Reader or somewhere else it got syndicated to, consider visiting the original post, especially if you’d like to leave a comment.)