I'm of a different opinion here. One classical definition of hacking is tied closely to "Using tools or technology in a way not originally intended by the tool's creator." So e.g. blueboxing phones, cooking meat in your car's engine, running linux on your wristwatch etc..
This is the definition that I find the most acceptable, so for me using a television to watch Glee is not hacking; you're using the tool as it was meant to be used. Making your television receive analog FM radio signals to listen to NPR, on the other hand, is hacking, because you're misusing the technology to some useful end. MS Kinect hacking is a good example here: users making the tool do things it wasn't intended to do my Microsoft.
> MS Kinect hacking is a good example here: users making the tool do things it wasn't intended to do my Microsoft.
Based on your other examples, I don't you should consider this hacking. None of the MS Kinect hacking has made it do anything that it wasn't actually intended to do.
"Kinect hacking" is akin to having a tv that only has composite input, and you figuring out a way to get HDMI input to composite. I guess it's slightly more of a gray area, but the Kinect's sole purpose is to output depth data to USB with the intent for it to be used with motion capture, and that is all that "hackers" use it for.
I guess so... my understanding was that the Kinect was produced exclusively to connect to the xbox and play xbox games. When people reverse engineered it in order to connect it to different things and do things other than play xbox games, that was a hack.
On the other hand, my "definition" means that it would be technically impossible to hack with the Arduino because it's intended for hacking. :p So back to the drawing board :)
Fair enough... I just think a programming language and a framework are - by design - made for creating new things, things that didn't exist before. And I equate hacking largely with that sense of exploring what's possible, in terms of "what can I create?"
That's why I find most - but not all - coding to be hacking... if your coding and creating something new, that's enough to meet my personal bar of "hacking." I will admit that it's a fuzzy and subjective bar though...
This is the definition that I find the most acceptable, so for me using a television to watch Glee is not hacking; you're using the tool as it was meant to be used. Making your television receive analog FM radio signals to listen to NPR, on the other hand, is hacking, because you're misusing the technology to some useful end. MS Kinect hacking is a good example here: users making the tool do things it wasn't intended to do my Microsoft.