Steve Cooley Fine Art Multiple Media ... seriously! Mon, 09 Jun 2014 17:57:10 +0000 en-US hourly 1 Absolutely epic dance circle at SubZERO 2014 Mon, 09 Jun 2014 17:57:10 +0000 IMG_3965I had to post this photo I took from subzero 2014.  An amazing crowd of people circled up to watch some dancers show their moves off while we played live techno.  It was so cool!!



xfinity business process reengineering Thu, 15 May 2014 22:51:33 +0000 allow me to nerd out for a minute.  I just got Comcast Xfinity.  We recently sold our house and have moved out.  We’re in a transitional place right now, but I decided to cut the cord on Uverse and move on to Xfinity.  The last few weeks of packing were *hectic*, so I’ll admit that I was making choices on selecting new services without all of my brain being available.  That being said, here’s what just happened:

  • I ordered xfinity, with… I think a double play package that got us second from the bottom level number of channels and the 25mbps internet service. I could have sworn I elected to get the HD tv service.
  • The xfinity box showed up with three boxes.  One for the internet. One for HD (because it has an HDMI port). And one for SD tv… (no YPbPr or hdmi).  Begin my confusion…
  • First of all, the internet didn’t work. The printed instructions were so big and simple that they were confusing. I had two coax jacks in our apartment, only one of which works. Fortunately, they provided a coax splitter, but even that created an additional test vector later.
  • Online chat support couldn’t help me. They don’t have the power, literally, to help with my problem. I had to call in Xfinity support. They can’t do much, so you have to know to ask to be transferred to a tech support person.  We did that, stumbled through the exact same testing procedures as online chat, only to have him boot me unceremoniously to a *third* person, who had to verify my identity…  that person literally had the power to send “stronger signals” to my apartment line, and that did the voodoo trick to make the internet go.
  • Cool. So next night is try to hook up TV time.  nothing works, hooked it up to the splitter, hooked up directly, hooked it up to ethernet. Nothing works. Hooked it up to HDMI, hooked it up to coax, hooked it up to YPrPb or whatever. Nothing going on whatsoever.
  • Talked to online support (you’d think i’d learn my lesson by now) and surprise, they can’t help me, even though it appears as though they think they’re doing something on their end. Nothing is going on for me on my end. Would you like a tech support person to come out to your house?  It’s $100 if it’s your problem, or $50 if it’s not. What? No. Fuck that. No fucking way, what the hell? I’ll go to an Xfinity retail store instead, thank you very much.
  • I go to the Xfinity store near me, and showed up too early. Went away for a bite to eat, came back ten minutes after they open, and it’s like the DMV in there. 6 people ahead of me! Whoa, man. Next time I’ll camp out in front of the door.
  • Guy calls my name for my turn, and without looking at any ID for me, knows who I am. Knows my plan. Can tell that I talked to a tech but doesn’t care, because it doesn’t matter.  Looks at the box, looks at me, then says “you’re not signed up for HD service. This is the HD box.” What. “Do you want HD service? it’s $10 a month more.. oh, wait, you can have it for $5 a month for 12 months. There’s a promo. ” Yeah, cool. Thanks.

So let’s digest.

  • Comcast ships everyone SD and HD receivers to *everyone* regardless of what their plan is? That seems insane. I didn’t bother trying to hook up the SD receiver much because I would have sworn I signed up for HD service on their website.  Waste of money, either on the SD receiver, or the HD receiver.
  • All of the packaging is nearly identical, as are the instructions. They all seem cohesive from the perspective of being from the same design “system”, but they actually contradict each other at times, and seem to live in a world where the others don’t exist and would never come into play when a customer is setting up the new box.  This is confusing.  They could easily differentiate or even acknowledge the existence of the SD and HD boxes being possibly shipped together and being in the mix.
  • The HD box should display a “you are not subscribed to HD service” message on boot up if that’s the case. I would have saved an hour and a half of my morning and gotten the service I expected days ago, if I’d been able to determine that my service plan wasn’t correctly set up for that box.
  • Online chat never checked if i was set up for HD service. Didn’t even try. Walked me though all of their triage steps, wasting lots of time and money, for absolutely no good reason, because they weren’t piping HD service to me. I was sure I had selected it when I signed up, remember.
  • It’s impossible to see what channels you are subscribed to. That really pisses me off.  They have channels listed for some plans, but they mash up the services and service levels so much that they don’t actually cover what’s included on the channel list for all plans.
  • It appears to be impossible to simply upgrade your service.  you have to make stupid decisions that don’t make sense like you’re starting a new service plan, even though you already have their hardware at your house. “do you want to rent a modem of use your own?” Uh, well, I have *this* modem that you sent me. Why can’t we just not talk about that because I thought we had already agreed that I was going to rent it from you? I want to upgrade the channels I get, not start over from scratch. Would they make me send the modem back if i’d made the wrong choice on upgrading? That would be insane.


  • adjust installation documentation to differentiate SD and HD boxes, and acknowledge that the customer may not need both.  If you’re going to ship two units with identical instructions, maybe just ship one set of instructions that consolidate the messaging and reduce waste.
  • Adjust the internet router/modem instructions to acknowledge the possibility and probable co-existence with a cable box and coax splitter in the user diagrams.
  • Ship the actual devices the user has service for. If I don’t have HD service, don’t ship me an HD box. If I signed up for HD service, wtf do I need the SD receiver for?
  • Online chat should be able to see my service level and make appropriate recommendations to resolve the problem by having all the facts instead of just following a script. Allow them to see customer service levels.
  • Repairs and retail service apparently use different ticket numbering systems, and apparently don’t have access to each others tickets. Customer continuity is lost and time is wasted. Consolidate all problem ticketing to one system that all divisions use and can escalate to each other.

Otherwise, so far, xfinity’s ok. better than uverse.

Where my helical interpolators at? Sat, 07 Sep 2013 21:22:55 +0000 I am offering this laser cut wall sculpture up for sale on Etsy, check it out:


laser cutter design portability Tue, 13 Aug 2013 05:38:07 +0000 I’ve had my full spectrum engineering gen5 hobby laser for about 8 months, and I’m enjoying using it. I’m not a total newb to using a laser. I had a couple months of intensive usage at Tech Shop years ago.  After that, I bought a CNC Router, and after that a 3d Printer.  I tinker with a lot of different things.

Over the years, I’ve seen a range of design files that people have shared.  For the 3d printer, typically you’d go to Thingiverse to get and share designs that you can use in your device.Thingiverse has some design files for CNC routers…   Some things make sense to share for a 2.5D personal manufacturing device.  And I guess if you’re making 2d things with the laser cutter, then of course you can share all kinds of clip art and whatnot.

A 3d printer is fairly straight forward.  The output is handled by the media you’re printing with. Your slicing software just accounts for everything and spits out machine code to do the right thing.  And things usually go well and you end up with what you were trying to end up with.

If you’re making 3d things from 2d media with the laser cutter, things get more complicated. If you pick up someone’s design on thingiverse, it’s designed for a specific thickness sheet good to cut the shapes out of.  If the design has finger joints or cross braces or is a box of any kind, it has to be designed with parts precisely cut to fit with whatever you’ve chosen to make your project out of.

Exhibit A:

The iPhone 5 stand by Kip


I like this design. A lot. It’s clean, thoughtful, and looks like it would take all of 10 minutes to cut out.  The description says it’s cut from 4mm thick plexiglass.

I guess “plexiglass” is the same thing as a sheet of acrylic.  So I’d go with a sheet of acrylic. I just went out to my garage and measured easily 20 pieces of acrylic, and NONE of them are 4mm thick.  So if I threw a 4.75mm thick sheet of acrylic onto the laser and ran this file as-is, none of the joints would fit because they’re expecting a thinner material.  So it would be a total waste of time and materials.

So, I’m here to do some wishing.

I wish there was a 3d cad program that would let me draw an abstracted design without specific thicknesses until I know what material I have in my hand that I’m going to use in my project. For the iPhone stand above, we know there are 4 pieces.  So if my wish came true, I could say “here’s the overall dimensions, this piece should have this critical angle, this edge should not be programmatically variable, but the rest of these pieces are dynamic.


Oh. I guess that would be a parametric cad program. Anyone ever heard of a parametric cad program aimed at designing for a laser cutter?

april 2013 works in progress Fri, 12 Apr 2013 06:11:24 +0000 I helped kickstart Full Spectrum Laser’s 5th gen 20×12 hobby deluxe laser last year. They delivered the laser, and I tried and failed really quickly at building my own fume extractor.  I bit the bullet and purchased an industrial strength fume extractor, and now I can use the laser without polluting the air. Yay!  So: game on!

Cuts so nice you gotta hear it twice.
ideas taking flight
hard to see cousin

My head is overflowing with new ideas that feed off these initial tests. All very exciting!

spray can wildstyle typography idea Tue, 08 Jan 2013 18:49:25 +0000 I had this idea of using a vector drawing of a krylon can as the stroke style of a font in the year 2000. I took at stab at implementing it in Illustrator in 2003, and now in 2013, I’ve decided I will probably never get around to producing a better version of it, so I release the idea into the wild.


3dpixelcam processing 3d pixels from live video Sat, 18 Aug 2012 03:32:00 +0000

this isn’t even full size!

Many years ago, I wrote a processing sketch to take live video and generate a 3d pixel grid, varying the height of each 3d box based on the brightness of the video pixel it was sampling. And it was good. Times have changed, and so has processing. Now it’s easier to do what I was doing then in regards to accessing the video input and controlling the 3d camera in the sketch.  There aren’t as many bells and whistles on this version as the original, but hey, it works today.

As such, you will need JMyron and Peasycam to run this sketch.


* 3dPixelcam
* steve cooley
* license for use: creative commons non-commercial attribution share-alike
* Do Not Omit This Information From Whatever You Make With It. Thanks! -steve
import processing.opengl.*;
import peasy.*;
import JMyron.*;
PeasyCam cam; // a virtual, 3d camera control
JMyron m;//a physical, actual camera object
int resolution = 20;
void setup(){
size(640,480, OPENGL);
cam = new PeasyCam(this, 320.0, 240.0, 100.0, 500);
m = new JMyron();//make a new instance of the object
m.start(width,height);//start a capture at 320×240
m.findGlobs(0);//disable the intelligence to speed up frame rate
println("Myron" + m.version());
void draw(){
m.update();//update the camera view
int[] img = m.image(); //get the normal image of the camera
float r,g,b;
for(int y=0;y<height;y+=resolution){ //loop through all the pixels 
 for(int x=0;x<width;x+=resolution){ //loop through all the pixels
float av = (red(img[y*width+x])+green(img[y*width+x])+blue(img[y*width+x]))/3.0;
void keyPressed(){
// m.settings();//click the window to get the settings
resolution -= 2;
if(resolution <=1)
resolution = 40;
public void stop(){
m.stop();//stop the object

2013-03-12 Updated to fix wp code manglation


The accident of birth Tue, 31 Jul 2012 03:44:27 +0000 this is the piece of art I donated for the 2012 Art auction for works/san jose. it is 24″x12″ acrylic on hardboard with 3d printed polylactic acid.




3d printed artwork Sat, 21 Jul 2012 09:22:00 +0000 Lest you think I’ve been languishing in some kind of artless state, Here are some photos of what I’ve been using my 3d printer for on the fine art front. My machine is stable, I understand how to fix it when it stops working, and I’m now using some software that’s letting me really scratch the surface of what I can do to use the 3d printers best traits, versus a laser cutter or cnc router. Pretty cool stuff. More to come.






magnificent machinery Thu, 26 Apr 2012 19:03:22 +0000 I was working on a thing on for work and, well, one thing lead to another. Click to save the frame. Close the new tab to restart the drawing.