I find this debate/discussion ("who's really a hacker??") boring and pointless; it's a mainstay of 2600 editor "Emmanuel Goldstein" on the 2600 radio show ( http://www.2600.com/offthehook/ ). His view is that once you're a malicious criminal (or do something he doesn't like, e.g. Anonymous ddos's) you're not a hacker. "I don't like what you're doing! You're not a real hacker! You give hackers a bad name!"
Now to make myself a hypocrite: One aspect of this phenomenon that I find amusing is how low the bar is set in terms of programming to qualify as a "hacker." e.g. "I hacked together this RoR site over the weekend" makes me think, "You used a popular, well documented website building framework for it's intended purpose... how exactly is this hacking?" "I hacked together a cake this weekend; even hacked my own cream cheese frosting!" People (like myself) who would once have had to settle for a more boring title like "software engineer" or "computer scientists" are all "hackers" now. :p /my 2¢
>"I hacked together this RoR site over the weekend" makes me think, "You used a popular, well documented website building framework for it's intended purpose... how exactly is this hacking?"
It's a third sense of the word, meaning something like "put together without a plan, by trying things until they worked". When someone says "I hacked together this program", they mean "I threw code at it, and now it seems to do what I want".
"This is a bit of hack" to describe a solution that is very fragile and subject to breaking, or just ignores good practices.
Technically, you could argue that this is in fact the original usage, as the solution's fragility typically is due to ignoring the conventional semantics and exploiting the actual underlying implementation of something.
One aspect of this phenomenon that I find amusing is how low the bar is set in terms of programming to qualify as a "hacker." e.g. "I hacked together this RoR site over the weekend" makes me think, "You used a popular, well documented website building framework for it's intended purpose... how exactly is this hacking?"
I'll argue that it is hacking, where "hacking" is largely about exploring the unknown and/or creating things that didn't exist before. Just because the tool your using is common, doesn't mean the result is. So depending on what the RoR site is (or maybe I should say, what it does) I think it's construction could justifiably be called hacking. But that's just me...
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...
I agree, I think it depends on what the focus of the activity is.
A while back I made http://crimesagainstcode.com/ as a weekend hack. It's built on Rails 3.1/CoffeeScript simply because that's was I was also playing with at the time, but the "hack" part for me was the fiddling with QR codes in a pretty obtuse manner to see what I could safely manipulate, not the underlying technology of the site itself.
Most people have a different primary definition of the word "hacker" than the author, in other words.
Most people know exactly what the word "hacker" means within their respective social circles.
It seems almost bizarrely religious to me for someone to say something to the effect of, "the way most people use a word is not the same as my own way or its origin, therefore most people ought to change."
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
He's helping himself by disassociating himself from the community that supports him. That's a prisoner's-dilemma defection: if everyone is afraid to acknowledge being a hacker when they're talking to journalists, journalists will only ever learn the criminal definition.
It's exactly as kragen says. I think he should call himself hacker, and explain why. Altough, of course, it can be a pain having to explain it every time, so it's understandable.
Ironically the same Kevin Mitnick who declared using default passwords "not hacking" gave a talk at HOPE http://thenexthope.org/ about his adventures avoiding law enforcement in which social engineering played a central role. Is lying to someone on the phone to get a password "hacking?" Maybe, maybe not, but he would have been unable to complete his goals without those crucial soft skills.
Perhaps password guessing and SQLi is "script kiddie stuff" but it makes me think of a "skilled thief" who scales a building and deftly opens a locked window 3 stories up, while a less experienced accomplice tries the back door and finds it unlocked. It's silly to condemn someone for using a simple method if that method is effective.
EDIT: Kevin Mitnick is cool guy, I don't mean to criticize him.
I think social hacking is far harder than trying to find vulnerabilities in a public server. It requires a whole different set of skills -- and I don't view it as being a "soft skill".
Yeah, right. Social Engineering is much easier than gaining access through some 0-day attack you have devised yourself, or even finding some working skiddie method (when dealing with a specific target). For one thing, you don't actually need any actual skill, you just need to be a good liar and have a good story. That's not skills, it's just a sociopathic trait some people are born with.
"The Tech Model Railroad Club (TMRC) is a student organization at the Massachusetts Institute of Technology (MIT), and one of the most celebrated model railroad clubs in the world, because of its historic role as a wellspring of hacker culture."
Since we're talking about language use, this quote from Kevin Mitnik:
"What News Corp. did, guess pin codes, spoofing voicemails, that is amateur script kiddie stuff."
Is itself kind of interesting, as there's no use of computer scripting languages at all here. He's using "script kiddie" to mean not "someone who uses pre-written scripts to break into computer systems and then boasts of their skills" but rather "someone whose skills I don't respect."
I find this to be a silly discussion. Word have multiple meanings, words are confusing and ambiguous, people are confused and ambiguous. But somehow we muddle through, despite different people assigning different meanings to "hacker." I really just don't care about this.
Then again, I consider the meaning of "hacker" to include both the "amateur script kiddie" types AND people like Peter Norvig, Gerald Sussman, and Rob Pike. It's just a matter of degree and of focus, with context to provide illumination.
I know many people who have campaigned to try to make the word into a positive, to "take it back", but the majority of people don't care what we do or why. The media shapes the conversation and the people have it without us.
Well at least the bad guys can be 'computer pirates' and we can debate which is better pirates or ninjas. And if we somehow managed to get the pirate vs ninja meme into public debate then that would be a very clever hack indeed.
"A hack" = a quick and dirty fix to some code to make it do something extra as required by some non-technical manager
"Hacking" = trying out different random changes to a codebase until you stumble on the one that does what you want
Those are the definitions (from 1980's Australia/NZ) that stick in my brain, despite being exposed to the "new", more positive, definition from Hacker News.
So here is a sad prediction, we'll get to the point where we start calling it 'the h word' and technical people will call each other hackers and laugh but if some non-technical type calls someone a hacker, well that will be completely unacceptable.
And while you think "OMG did he just compare calling someone a hacker to the scourge of racism that we have yet to purge ourselves from?" Yes, I did. You see at some point I suspect it will become, from a non-technical person, a vicious form of character smear to insinuate that a technical person uses their skills to steal from society. And these 'technists' if you will, will arise from a population that is afraid because they depend heavily on technology in their day to day lives and yet they don't understand it, and they are at the mercy of people who do understand it, and that makes them angry because for some, they will feel inferior. And folks who are angry and afraid lash out in vicious and brutal ways to try to salve that fear and anger.
I've tried for years to split the meaning by using 'cracker' vs 'hacker' or simply 'criminal' but to no avail.
I'm a Hacker and an Engineer. I'll be damned if I stop using either title just because they were sullied by criminals, confused by the press, or misunderstood by the public.
[Late Edit] I was rather suprised by the implication that the term hacker came from the M.I.T. model rail club. As a model railroader I've never heard the term used in the community. Bash (ie: kitbash) is way more popular.
Glad that was cleared up. All this time, I thought a 'hacker' was a navel gazing, media junky who happens to know a bit of ruby on rails and javascript!
They're usually surprised. Some were faintly rude, others were nicer. My canned reply is that they should understand "hacker" in the MIT sense, and that it's not necessarily related to computer security or even computers in general. They usually lose interest at this point.
The most articulate chat that I had was with someone who asked me if I was into social engineering, and explained that he had read _The Art of Deception_ and found it quite inspiring.
The term "hacker" has multiple meaning, and the use of hacking to manipulate a phone system is not only valid but was also the original use of the term when it originate at MIT in the 1960s.
The best way to define hacking in the positive engineering sense I have ever heard is:
"To make furniture with an ax"
To take tools at hand, oft not ideal for the goal, use them to make the more ideal tools if time allows, then to make something beautiful entirely due to the skill, talent, and/or creativity of the wielder.
Unless the title of the article has changed, there's some editorialising going on in the headline here of a type that is usually frowned upon on HN. And the result is, in a sense, completely absurd.
Most people have no idea what the word hacker means to us.
Now to make myself a hypocrite: One aspect of this phenomenon that I find amusing is how low the bar is set in terms of programming to qualify as a "hacker." e.g. "I hacked together this RoR site over the weekend" makes me think, "You used a popular, well documented website building framework for it's intended purpose... how exactly is this hacking?" "I hacked together a cake this weekend; even hacked my own cream cheese frosting!" People (like myself) who would once have had to settle for a more boring title like "software engineer" or "computer scientists" are all "hackers" now. :p /my 2¢