Hacking - Art or Science?
An anonymous reader asks: "The argument regarding the principle nature of hacking - be it an art or a science is not a new one. This paper hopes to discuss both the meaning of the term 'hack' and the underlying arguments for it being defined as an art or a science, in reference to the base principles and basic methodologies of the discipline. So in your opinion, is hacking art or science?"
Hacking is for newbs! LOLOL!!! ROTFLMAOOMFGBBQ!111!one!!!111one>
:-)
(Now that I've got your attention, and had a good chuckle...)
Let me put this to rest, once and for all. "Hacking" is not something to strive for, no matter what your defintion. What "hacking" is, is an expression of a natural problem-solving ability that all humans have. This problem solving ability can give us MacGyver-level talents allowing us to fashion a solution to any situation. Such innate talent is a good thing.
However, expressing it as hacking means that you're creating short term or disruptive solutions rather than long term solutions that will last. When hacking meets the discipline of Engineering, all hell breaks loose. Sure, that ugly hacked code you put in now does the trick in a pinch. But if it's not replaced with a long term solution in a hurry, it will cost the company large amounts of money in support and maintenece.
That's where true Engineering steps in. As an engineer (or architect as the case may be) you have a responsibility to weigh in all the competing factors to produce a solution that is both long term and inexpensive to maintain. Your solution may have to go through hell and back and still get the job done. You can never quite be certain of what situation your code will go through, especially if people's lives and/or fortunes depend on it.
So in short, leave the hacking in college. It was a lot of fun when you had raw, unfocused talent, but you should be more mature than that now. Use what you know to build a real solution and leave the "hacking" to the next generation of kids.
Javascript + Nintendo DSi = DSiCade
Hacking (or any programming) is neither art or science. It's applied engineering. And applied engineering is what it is.
Sometimes it's best to just let stupid people be stupid.
It's philosophy. :)
Perhaps a good term to some up the meaning of "hacking" is "tinkering".
I think writing is an art.
It just depends on whether the person "hacking" is doing it for artful reasons or scientific reasons. What if they just do it for fun, no other reason?
It be both?
As defined by wikipedia Art, in its broadest meaning, is the expression of creativity and/or imagination.
Science = Reasoned investigation or study...
Art or science... hmm. Could it be that the very question is a pointless exercise in semantics? Neither term is pejorative, so what's it really matter? Is it a fence or a wall?
Or for the Zen masters:
What is the sound of one hand hacking?
Evil people don't think they're evil. - George Lucas, Making of Ep III
Hacking is when science becomes art.
BTW, no one here should be allowed to comment on this topic unless they've seen this movie. After all, would you be prepared if gravity were to suddenly reverse itself? Would you!? :-P
Javascript + Nintendo DSi = DSiCade
Scientifically, it is the science of logic. Artistically, it is left to the individual to state as he will. And I think a second example of hacking as an art is it takes the right kind of mind to understand it. I know several people who love computers, but you stick them in front of something to hack, and they're lost.
Computer science is the art of automating anything that's been refined to a science.
Hacking is a form of computer science.
I've actually ordered The Art of War to read. I'm sure that book is applicable to hacking too. I know the book is very applicable to the business world and even more. I'm assuming that this article has a similar attitude.
Does it have to be either? Hacking, like most things in life, is neither a fine art or a pure science, so I'm always confused why certain people try to pigeonhole some discipline into either "Art or Science".
I hear this question over and over from some people. This question seems a little too academic and removed from reality-- if a discipline doesn't fit your narrow view of "Art or Science", perhaps the view is wrong.
If anything, I'd say hacking could loosely be called a craft, in the same way that any trade could be considered a craft--woodcraft, glasswork, gardening, auto mechanic or, just for fun, witchcraft (Hackers do mysterious things by reciting long incantations!).
Eventually many craftspeople are able to think outside the instruction manual and discover new ways to work their craft in ways that it wasn't intended to do.
"Can of worms? The can is open... the worms are everywhere."
Whatever in God's name it was hacked up this morning, surely was art...
When I was coding, someone brought up that the best programmers were people with art backgrounds. After that, whenever a bug was discovered in my code, I would respond with "I code what I feel and I was feeling shitty that day!"
Evil people don't think they're evil. - George Lucas, Making of Ep III
Hacking something together is craft, or somewhat like an art. (Since the things produced are to have practical value it's not just an art.)
Mixed with a formal process and a good architecture hacking becomes engineering.
The Army reading list
It's more like 4R7.
An Indian-American Hindu committed to non-violent thought/speech/action alarmed by the global explosion of radical Islam
isn't science an art?
and art also a science?
Finding & exploiting loopholes is an art.
Not getting caught is a science.
Ask Slashdot: Would you do my philosophy assignment for me? k-thx!
I mean neither of the two disciplines describe perfectly what hacking is. Then again, parallels can be drawn between hacking and either discipline. So, I think the answer is both.
"Hackers" cracked systems.
Then came the early 90's.
All the kids that took CS to become "Hackers" found out that it was often a very less than honorable profession. Since their underinflated ego didn't like the name "programmer", they started to lift the term hacker for themselve, and replace the negative with the label cracker.
Those of us that were there, and awake during the late 70's and early 80's know exactly what a "hacker" is.
"Cracker" may be more appropriate these days, but it is the "bastardised" definition, not the other way around.
is a term used by worthless cowboy coders who think they are hot for slapping togehter a POS programm that barely works, some of the time, and is unmaintainable.
The less I see of it the easier my life becomes. Usually I have to spend hours fixing their crap before I can do my job. Often I just throw it away.
putting the 'B' in LGBTQ+
...on the hacker's mind-set. If you're of a very scientific bent, hacking will feel like a something concrete, but if you approach it artistically, you're more likely to see is as something you can express yourself though.
But then again, we really have to define 'art' before asking if hacking is an art. Most would say mathematics is a science, yet many mathematicians would consider a lot of the proofs in Calculus beautiful.
This sig rocks the casbah.
is in the eye of the beholder. What we consider science, some consider magic (a form of art).... Discuss
Cliff Claven
K.E.G. Party Chairman
Founding Leader of: Koncerned for Egalitarin Governance
...to cateorize and classify anything and everything.
couldn't just be defined as "a much better way to pass ones time instead of watching shitty television."
dude.
hacking is no more an art than snapping models together and no more a science than stamp collecting.
In my opinion, the completely vapid nature of the paper gets in the way of answering the question posed. But, then, I think the question is a useless one to ask in the first place. From the conclusion of TFA:
... the fact that ultimately it does not really matter.
The beauty of this argument is
You know it's a great paper when your conclusion is that your argument is completely irrelevant.
And it is, too. Why does it matter whether hacking is classified as art or science? What effect would it have on the way hacking is perceived? Who cares?
Now, if you just wanted to talk about computer science (in terms of applied math, not engineering), I think the art/science question is better suited. Of all the schools in the world that teach CS, how many locate their CS department in the school of engineering, and how many in the school of letters and sciences? Why? Does the context of the CS program affect the quality of its graduates?
I believe hacking is neither an art nor a science, I think it's a craft -- comprised of part science and part art.
I do not believe hacking is an Art. I beleive it is a mental exercise. Why is the term art is given to easily to everything today that is even remotely intresting to someone.
Reuniting the arts & sciences is in vogue right now in academia, see the Barber School of Arts & Sciences at UBC http://www.publicaffairs.ubc.ca/ubcreports/2005/05 feb03/barber.html
Hmmm... Well, on the one hand, it takes precise timing and an intuitive understanding of physics to keep the sack in the air. On the other hand, if you do it right, it looks a lot like a dance. :)
i've always considered it a behavior, and hence, not intrinsically either art or science: it's the execution, IMHO, which determines its nature, i think.
ed
It's engineering plain and simple. To dress it up as anything else undermines the skill that is envolved in creating good code. The dictionary (dictionary.com) defines engineering as
The application of scientific and mathematical principles to practical ends such as the design, manufacture, and operation of efficient and economical structures, machines, processes, and systems.if that doesn't define writing code I don't know what does. There is nothing wrong with being an engineer.
I used to have a better sig but it broke.
The most experience I have with "hacking" would be to patch Japanese games so that they start displaying English instead. While the majority of the expertise needed and used is more of a science, like knowing how the underlying operating system/hardware works or how images and placed on the screen, the extra step required for a good, elegant hack is something that's more like an art. You really have to start getting creative when you need to figure out how to modify the code given serious size constraints, or how to make the smallest patch so that it has the least chance of unexpectedly breaking something else. I would assume the same could be said about other types of hacking. The basic, low-level grunt work is probably more like a science, but to get that extra ounce of elegance in the finished product, that is art.
offtopic: ironically, the image they're making me read for posting is "exploits" :D
As ugly as some of my code gets, especially when regular expressions are involved, there must be some of this "art" in the picture.
Cracking: Gaining access to a system, program, server or piece of hardware via methods which bypass any security in place or give the 'cracker' inflated privileges within the targeted system, program, server or hardware.
This made me realize that if the erosion of tech freedom continues, pretty soon the terms "hacker" and "cracker" will pretty much become synonymous, and the people who misapply the terms will finally be right. *shudder*
Skype is too convoluted... Now I'm reverse-engineering the Kyoto Protocol.
Anyone can paint, sing, or write code with minimal training... what makes that person an artist is a devloped talent that allows them to do things in their field that the majority of those who participate in the field could only dream of doing. In addition their is usually a clear distinction between a true artist's work and that of someone who doesn't deserve the title... there is little middle ground.
I can write code, but I am certainly no hacker. Sure I might hack together a script to do something that may or may not have been done before... but a true hacker would make me look silly in my attempts.
I think the term hacker is thrown around way too frequently and used interchangably with someone who hacks together a solution to a problem. If I decide to paint something, I am NOT a painter; the same applies to hacking.
I have met hackers, and to watch them work and read their code is nearly a spiritual thing... I only wish I had the talent and time to dedicate to bring myself halfway to that level.
Sometimes the best solution is to stop wasting time looking for an easy solution.
... a desert topping!
Science. But that doesn't mean it can't be beautiful.
useless sig advice - Read Nabokov.
Cooking is art, baking is science.
Both use algorithms, cooking's are malleable, baking's are not.
Many things in programming are both: if the results aren't correct, it's not science; if the code is ugly, it's not art.
No folly is more costly than the folly of intolerant idealism. - Winston Churchill
I believe it is best described as a craft, like fine woodworking. It takes skill to do it well, and ingenuity. Many of the results will have practical application, but almost as important are the aesthetics, style and beauty.
Art doesn't really capture it for me. And science is right out, really. Precious little of hacking comes anywhere near the Scientific Method, and without the Method, you're not doing science. I think people who suggest it is science are actually thinking of engineering.
But engineering doesn't really capture it either. Engineering is just a job. Craftsmanship is compulsion, something you are forced to by your own personality. A craftsman cannot accept anything less than his own best effort.
The essence of my work is building something functional, but also beautiful. Something I can be proud of.
Second, I see a difference between engineering and hacking in terms of knowability of the outcome. If you can design a product or solve a problem from start to finish, without much or any testing, and it the solution does exactly what you expect it to do, it more on the engineering end of the spectrum. If the hacking is more a matter of "messing around" or "trying different solutions' it is less engineering.
Third, I'm not sure why people would call it "art" unless the result is judged on aesthetic, rather than practical grounds. A beautiful case-mod or algorithm might be art (in the eye of a geeky beholder), but a hack that unlocks a cellphone may be more in the realm of applied knowledge (science) or experimentation (science).
Two wrongs don't make a right, but three lefts do.
I'd like to see the term 'tinker' come back into vogue.
I believe it more accurately describes the everyday routine of IT.
Also, that would lift the expression 'Not worth a tinker's dam' back out of obscurity.
I had tinkers for ancestors...
We used to fix everything whether it was broken or not!
You can't talk about Wikipedia's flaws on Wikipedia
Ahh, Nethack.
Get out of my way stupid dog!
It must have been something you assimilated. . . .
Why is the question always put out as "Is art or is it science?" I don't know of anything that isn't both these days. I've done lighting design work for dance theater, which drew upon a lot of creativity and interaction with the choreographer to get the right kind of look. I also drew upon simple facts of science, like the notion that using purple is a terrible idea (comprised of only the light from opposing ends of the spectrum, apparently purple lighting makes it very hard for dancers to accurately focus their eyes on stage). Cooking is clearly considered art, but when you go to cooking school what you learn is as much chemistry as art. Sculpture is largely dependent on metallurgy and casting technologies (which can also be said to be science with art mixed in, when it comes to intuitive decisions on things like porting to make sure a cast fills properly). I also think that, depending on the particular act of any such endeavor, the proportion of art to science varies. Making some sauces can be pretty freeform, but baking usually demands strict adherence to certain proportions, for reasons of simple chemistry and biology.
:) But in my opinion, any definition of the word (including the pejorative term used in popular media to refer to spectacular computer security violations) are both. And I think the proportion is not a constant for any definition, or even for one person. It varies based upon the act.
I won't even get into the definition of "hacking," because on Slashdot getting into THAT semantic argument is neither art nor science...it's just crazy. Let's face it, nobody can win that argument no matter what their viewpoint
For your security, this post has been encrypted with ROT-13, twice.
I alrewady responded but classifying hacking as an art is like calling light a wave or electrons particles. In reality their both, and no matter what the human mind does to them it can never prove it one way or the other.
I coin it artistic-scientific nature duality!
see subject
-Lod
PS Thanks to the complete Circus Clown's Fire Drill that has been the attempt to re-re-re-define the word "hacker" from the last quarter of the 20th century into this one, there is officially no such thing as hacking. The number of mis-percieved mis-definitions of the word surpassed the total human population about 1996 (yes, I wrote it down) and thus freed of the confines of mere space-time continuum, has increased exponentially ever since, which explains why each person can define the word five different ways and have *none* of them agree with anybody else's five different definitions.
This is where black holes come from. I nominate that, along with words like "Tao" and "mu", we puny mortals simply abandon the word back to the Ancient Ones from whence it came, admit that our shriveled husks of cortexes are incapable of fathoming such a deep concept, and hereafter relegate the word to the ranks of words which, if named, are not their true selves.
Which will spare us the upcoming inconclusive debate, now looming over this thread, over what hacking is for the 998.8E+999 time. Because I can't sit through another one. And to ensure I don't, I'm...I'm...I'm HOLDING THE EASTER BUNNY HOSTAGE! Yes! Drop the flamegun, or the lepus gets it right between the oculi!!! And there'll be no more Cadbury chocolate eggs for any of you!
Hacking is the artistic application of science. Elegance is the demonstration that art and science are simply two sides of the same coin.
[rant]I think these days, with technology, computers, and the internet being so prevalent in society that this term has been a tad over-used. Everybody from seasoned programmers to the typical "newbie" uses this term for a broad range of topics.[/rant]
:-P
Personally, I think it remains whichever one you apply it to. (I may be taking "hacking" to be more of programming in this) I like to dabble in game programming and I think in that aspect, more along the lines of game play, it is more of an art than science. When you USE the science to create this wonderful, beautiful world of monsters or whatever the case may be, it becomes art. Having said that, for other parts of the game, it is more of a science in that you're figuring out how to do things or using it as a means to a solution.
So I think it's whatever side you lean towards, or none if that's what you like. If you like art, you may see it as art...if you are more of a science person, then you may very well see it as art. But that's just a Friday afternoon rambling...pay no attention.
It's a Sport.
It's not art and it's not science. It's engineering which takes a little of both.
Hajo Monogamy: Belief so strong that millions of people end perfectly good relationships in order to start a new one.
This essay was much better when Paul Graham wrote it two years ago and called it "Hackers and Painters"
It's really a personality trait brought to behavioral practice.
I'm so tired of people trying to describe things as art when they have no place being referred to as such. I drive cars with manual transmissions really well, am I a stick-shift artist? Please.
As a Perl fundamentalist, that's a religion, but something then python, that's scientific evolution. Don't teach Perl in schools.
I read the author's treatise but was rather shocked at the company swag. Who in their right mind would take security advice from a company who advertises thongs, vodka, and cocaine as symbols worth publicising?
That is not the company image that would win me points with my boss.
Boss: "That is a rather inappropriate coffee cup you have there. Please don't bring it to work."
Me: "But our network security company gave it to me!"
Boss: "You're fired."
I guess I'm just showing my age.
And yes, my boss does talk in HTML.
"Rocky Rococo, at your cervix!"
Hacking involves: Creativity, logic, and sometimes impericism.
So, at one level it's a small amount science. At one level it's logic (mostly logic), and at another it's artistic.
Pidgeon holing it into one would be naive.
Criminal
If you could reason with religious people, there would be no religious people
Oh gawd I am tired of this old cliche. Not every complex technique is either an art or a science. Hacking is software engineering, at best. If you have to ask if it is an art or a science, it isn't an art or a science.
It's both!!
"You'll get nothing, and you'll like it!"
Like carpentry, welding, pottery, etc.
Just for you, the author, who will probably read every comment here: YOUR DAMN FONT IS TOO SMALL. I could barely read it at all. It may look ok in windows, but for some reason either windows fonts are big, or linux fonts are small, but no matter, the fact remains: YOUR DAMN FONT IS TOO SMALL
"Not right now"
"A girl's got to have her standards"
Intelligent Design: because MATH is HARD.
Isn't that a hack of the memes that define the social contract?
...But I digress. TREMBLE PUNY HUMANS!ONE DAY MY SPECIES WILL DESTROY YOU ALL!
Like always, there seems to be people who hack and people who talk about hacking...
Paul Grahm wrote a similar essay almost 2 1/2 years ago. http://www.paulgraham.com/hp.html
It's both!!
Duped my own fucking post. because I type 'of' when I shoulda typed 'or'.
"You'll get nothing, and you'll like it!"
This paper hopes to discuss both the meaning of the term 'hack' and the underlying arguments for it being defined as an art or a science, blah blah blah...
Maybe instead of trying to nail down the term "hack," you should try defining "art" first. I'll give you a few thousand years, and you may consult any and all aestheticians and philosophers starting with Plato.
// This is not a sig.
I know I am going to get a bunch of responses about the historical use of the word, but these days, hacking is synonomous with criminal activity and I don't think glorifying it on slashdot as art or science helps anyone.
Hacking is a science in figuring out how to get from point A to point B w/ something.
Hacking is an art in how you interact w/ your target.
I'll assume that the word Hacking means a programmer using a language to solve a problem in a way that was not designed by committee, but more on the spur of the moment to solve an immediate problem.
Science is the process of building facts about the real world using experiments and gathering empirical evidence. Hacking can be done this way.
Art is the development of emotional states into things that relay the emotional message. Hacking can do this. If we define art as something that makes us feel that it is elegant, Hacking can definitely do this.
Hacking is both... or either. It's also neither part of the time.
We should start referring to processes which run in the background by their correct technical name... paenguins.
In theory it's a science, like programming, but like programming it has artful areas.
To be honest teaching someone how to "hack" is impossible, it's a thought process, and as such some people just will not be any good at it, but overall it should be considered a selective science. The same as programming, or others.
I don't know if many of you ever looked at a class of college students (I watched those around me in college) Some people just was NEVER going to pass the first C++ course, because they didn't have the aptitude, they couldn't handle the minor things. It wasn't for a lack of trying, they just didn't see the world that way. It's the same way I can NEVER paint or be creative artistically with my hands (however I can write, and program, but I can't play music, draw, sculpt), it's just something that is physically beyond my reach.
That's not to say they COULDN'T program, but the amount of effort they needed for simple tasks means their advanced skills would just be a waste to even attempt. Out of the people who had trouble in the early areas, only ONE got to the final area, and she was worthy of praise, and probably had more problems with the language then the theory. She actually was very good near the end and if I remember she did graduate (though not with high marks)
The whole thing is these are arts, you think that way or you don't. You can try to think the different way but it's like trying to fly with out wings. Most of the time it just won't happen. (othertimes your a freaking genius and figure out the principles to it and create a flying machine, travel only a mile, but create the first man made flight... but you have to have a brother for that) Just as in hacking, you're not going to think the correct way with out a lot of effort if you don't have it in you, and as such perhaps it's just not worth it (and of course that's up to you).
I think the most important thing is to look at our extremes, the artful hacks of Xboxs with Linux, the skillful hacks of major systems, and so on, the fact is there is an inherent art to hacking while not being a prerequist to achieving goals, it definatly helps. I'd say artful science, or scientific art? but I couldn't tell you which one.
... is indistinguishable from art.
You could've hired me.
Dude, look up from your computer monitor.
Hacking is modifying the use of certain convenient tools to accomplish a job quickly rather than waiting (or paying more) for the tools deemed proper for that job.
On it's most basic level, hacking is using a butter knife to unscrew a flathead bolt.
Hacking is used extensively in CS because in such an environment it's easier to find another way to accomplish the same goal, and many times the original coder did it poorly. This is especially the case when the intended hardware becomes obsolete. But all that doesn't make hacking a exclusive subset of CS.
So in your opinion, is hacking art or science?
That depends on how you define the words. The way I define them it's neither.
Art: Creation of compositions that, as a significant intentional goal, have an emotional impact on a huma observer/participant/user/occupier which is significantly greater than that expected from mere communication, representation, or functional usage.
Science: Progressive refinement of understanding of some aspect of the objective universe, accomplished by devising theories that explain known data and testing them by performance of experiments to collect new data which can detect falsity of the theories or chose between theories which diverge.
"Hacking" can occasionally USE some aspect of either. But neither is primary.
IMHO hacking is a "craft" - a skillful use of a coherent set of technologies to make new constructions which advance a goal. This is one of the secondary meanings of "Art", as in the title of Knuth's _The Art of Computer Programming_. But a particular hack need not meet the primary meaning of "Art" to be "a GOOD hack".
Hacking, or any other computer programming, like any other work of craft, can be a good piece of art as an independent matter. Example: A "beautiful" program can be a work of art independent of its function. In some crafts (by my definition) art is considered a necessary part of the toolkit used to create a good work: Architecture, city planning, and software interface design are three examples.
A hack can often have a strong emotional impact on those who come in contact with it as a side-effect of its primary activity. Hacks can be used as components of art works - but so can tin cans. Hacks can be works of art in themselves - but so can cars (or tin cans B-) ). That still doesn't make hacking ITSELF an "Art" in the way I use the term.
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
When done properly, (IMHO) programming (and in general all forms of Hacking) is a Craft. And like all crafts, there is an important scientific component to it (just as the science of metalurgy is important to blacksmithing), but scientific knowledge only gets you so far. For example, you probably wouldn't want someone fresh out of college with a degree in metalurgy having a go at the forge right away. All crafts require a certain "feel" for the work, an intuition for knowing what works and what doesn't, and more than anything lots of experience. This component equates more with peoples artisitc side.
Part of the problem is that in the corporate culture of most companies today, anyone the ability to truly craft a good peice of code usually gets stifled or beaten down till they comply with the "do things according to proceedure or you're fired" mantra (or thier jobs get outsourced).
"I'm making perfect sense, you're just not keeping up."
Science is an art...
and art is a science.
Nope. Programming is definitely NOT engineering. Not even necessarily software engineering. Some programming is part of software engineering, but not even close to all of it.
How can people claim any ownership to the title "engineering" when they refuse to follow any kind of process. Refuse to plan. Refuse to design. Refuse to analyze. Refuse to manage anything. Refuse to follow standards. Refuse to be rigorous in their duties.
People love to throw around the title "software engineer" when they mean "programmer". Don't get me wrong, not every piece of software needs to be engineered. Not even close. But most programmers in my 12 years of experience aren't engineers, period. But most of them wanted to be called "software engineers".
Hacking may have some engineering elements and even some artistic elements. But most of it is brute force application of technique.
My beliefs do not require that you agree with them.
The "hacker", termed by the clueless media is really a cracker.
True Hackers create things whilst Crackers shit in the punch bowl...
When we hash out arcane and irrelevent semantic distinctions, are we practicing an art or a science?
Well, it's a science because it's obsessed with extremely fine details.
On the other hand, you could consider it an art because it expresses, in an indirect way, our contempt for all the remotely relevant things we could be talking about.
Tough one.
How about sarcasm? Art or science?
The good and new comes from no quarter where it is looked for, and is always something different from what is expected.
create table by using axe (a tool for 'destruction')
where axe might be use as a cutting tool and a hammer
so hacking would be to use the 'wrong' tool to solve 'wrong' problem
so u must sense any 'wrongness' in a hack
the 'beauty' and 'ugly' of a hack is an entirely different subject (i.e, hack is not necessary to be beautiful or ugly - just presence of 'wrongness' is sufficient)
"natural problem solving ability"? something like that. I'd saying "hacking" is the application of a natural ability, or even desire that humans have. That is, all humans by nature desire to know. And, when put in a system where we don't know all the rules, we hack, and build up experience. Eventually, we get a series of patterns and actions that "work" for a given situation. This is how far "hacking" can take us. Then we make some sort of leap -- or the mind does -- and we infer the principles behind what we've been doing: we get the rules. Once we have knowledge of the principles, we can figure out how to act in individual cases without resorting to hacking. We can even teach others those principles.
At least, that's what my budddy Harry says, when he finally finishes talking about the physics.
The article does a great job of defining "hacking" in its own terms. Unfortunately it doesn't do such a great job defining "science" vs. "art".
Science easily requires as much creativity as any art. And any true artist that is passionate about his work will pursue it with strict logical focus, just like a scientist.
It's only in the last century that these two "disciplines" have seperated definitions in the common view... It's difficult for me to really even appreciate the point in even trying to define hacking as either one or the other. Maybe it's both?
Of course, I'm a total art school geek, so my view's pretty biased.
I thought art was the ability to forumalte a median of communication that expresses oneself emotionally. I do believe hacking is far from that. We are talking about problem solving. I know when I do an art show I in no way compare this to my ability to write software. Why is it everyone in the US fights so hard these days to be called an artist? Is it really that cool these days to say ah I am the Auu r teest? I remember when it was not always the most popular thing to be considered - ah how times change. The insecurity of needing to be special with a label of sorts. Here is a word - try creativity. Much better. If you are a traditional artist then I imagine you are not the one cponsidering your skill as art - major difference. But language is always in flux as they say. ....
That said, according to the dictionary, art is "the application of knowledge or power to practical purposes". In that meaning, hacking is art. It's not a science in itself, since there is nothing particular about hacking. The only sure thing is, the more knowledge of the system you want to hack, the easier you can hack it. It's all about lots of knowledge of how things work and how to apply this knowledge. But the "applying" part of this "equation" is basically within each and every one of us, as someone else pointed out (the problem-solving ability). So a good hacker is someone who happens to... know a lot! Knowing about "hacking" won't particularly help - it's knowing about the system you'll hack and your problem-solving abilities (which are much more general that just applied to hacking). So in conclusion we could say that hacking is definitely not a science. It borrows to the scientific spirit, but it's just plain art.
Lots of people see hacking as some kind of "black art" - as if it required some magical powers and random tricks. But it's not! Good hackers are knowledgeable people with a medium to high IQ. Period.
Yet another debate about whether something is art or science.
What possible value can knowing the answer have? Just another lifetime acedemic inventing something arbitrary to talk about instead of doing something useful.
There are a million questions to be explored that might actually provide some value to the world. Art or Science is NOT one of them. If I declared today that Chemestry was and art it wouldn't change anything. Nobody would benefit from knowing it is an art. Why don't you instead analyze the character traits that make up a good/bad hacker or something. At least somebody would have a chance at using your information.
BAH
I've watched this film again yesterday, and I think that man on a moving chair is the exactly idea of what a hacker is :-) Great movie from the 80's !!
Why does it have to have "OR"? I don't see why hacking cannot be a combination of both. Unless you want to stir up some pointless partisan bickering. Oops... too late.
sig here
Hacking, IMO, is the creative (art) application of skills or technology (science) to solve a difficult problem. There are lots of people who are strong on "how" but weak on "why". They are not hackers. Hackers must be strong on how (science) AND be able to creatively apply that knowledge (art) to achieve a new and unique solution to a problem or challenge.
Light - Particles or Waves?
Which Came First - Chicken or Egg?
Nuclear Chain Reactions - Good or Bad?
Religion - Boon or Bane?
Discussing any of the above would be just as useless and pointless, yet somehow probably would be more interesting.
Despite what EULAs say, most software is sold, not licensed.
Hacking is programming, which is computer science, which isn't science at all, but rather engineering. So the question is:
Is engineering science?
As an engineer who hacks, no. However, I remain scientifically literate.
Since the scientifically literate form a small minority, perhaps I could get special deals as an oppressed minority. The handicapped got parking spaces, and what did they do to get that?
Jeez.
The answer is clearly 42.
-- Stephen.
First off - Graham* in the original post.
... and did a much better job at that.
</reading whitedust article>
Y'all should read Book 6 of Aristotle's Nicomachean Ethics--some good thoughts there about different kinds of intelligence and skill.
Shop as usual. And avoid panic buying.
hacking is clever.
Perhaps this is just a personal gripe, but I think it is an artificial division. From my point of view, art and science are closely intertwined -- at worst, a continuum, at best two perpendicular elements defining a plane where some idea or item can be placed.
One group I 'played' with (The SCA) defined an science as anything that could cause damage, and an art to be any other craft or the like... But really that is also an artificial division.
Until this century, artists, natural philosophers, theologists, alchemists, and all other forerunners to the modern scientist fluidly combined the two -- art leading to science, and science leading to art. Creating an artificial distinction between the two creates a barrier that might hinder future developments.
More Caffeine. NOW
it's Alchemy..
Just ask Knuth.
The work which defines computer programming calls it an art. I'd have to agree with that.
...in that the questioner appears to assume that "hacking" must be either "art" or "science." I defy anyone to thoroughly explain why it is necessarily and entirely one or the other -- because it very plainly is a mixture of both, imho.
Slashdot? Oh, I just read it for the articles.
I've never understood why it needs to be either of those. I program things every day, working, studying or just for fun, and I tend to look at it as a craft. I take pride in both creating practical applications and coming up with elegant code snippets to solve individual problems. While calling hackers artisans might sound a bit demeaning, when you stop and think about it, it makes sense.
.02,
.precd
Ever looked into a dictionary?
Hacking: To write or refine computer programs skilfully.
Craft: The skilled practice of a practical occupation.
Just my
*With the exceptioon of Dr. Knuth and a few others who do theroize, postulate, etc.
"Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
In my personal opinion, both. Hacking is both creating and destroying; so is Science... so is art. Hacking is about creativity, but also about education and the ability to teach and to learn.
"Instant gratification takes too long." - Carrie Fisher
period
...another whitedust article. Someone's a little biased...
Yes.
i don't see how hacking could directly fall into either the art or science category, but its moreso a complete hybrid..
in essense, a hacker could use his expressive side to design a program to help him/her with their ambition.. then he or she simply executes that design scientifically..
*plays the Apogee theme song music*
the difference is that while shit really stinks, hacking only stinks sometimes.
the similarity is that both can be ploughed back into the common.
next question?
usage: Although nearly every handbook and many dictionaries warn against
confusing principle and principal, many people still do. Principle is only
a noun; principal is both adjective and noun. If you are unsure which noun
you want, read the definitions in this dictionary.
Mr. Pedant.
hacking is doing something with an axe
It can be both...
Hacking is art if it has an aesthetic value. Something a person would look at and feel emotions, pleasure, or disgust but as an observatory role (rather than someone seeing all their hard work destroyed and being upset about that fact).
Hacking is a science if it has a proven methology that can be recreated through a certain process.
"I am the king of the Romans, and am superior to rules of grammar!"
-Sigismund, Holy Roman Emperor (1368-1437)
Art is subjective. It can work in degrees and mean many different things to many different people. Art can even fail (in that it doesn't do what it was meant to do) and still function as art. Art is emotion.
A hack or hacking is not subjective. It either accomplishes what it was meant to do and is a success or doesn't and is a failure.
Why is it that everybody wants their job/work to be considered art?
Their are hacks that are beautiful design solutions, constructed by someone who knows what they are doing. Sometimes they are the result of being "the new guy" on a five year old spaghetti code POS. Othertimes they are necessity of invention.
For example, one trick I use in pre-generics Java, is casting to enforce type during deep copies of collections:
I would call that a hack, but it does something useful that (in this case) the language did not provide (and it is a simple example). I'd say the same thing about throwing exceptions on purpose and iterating through the stack trace to find the calling object. Clever, a hack, but clever and done by someone who knows what they are doing.On the other hand, the guy two cubes down from me (who is twice my age and fudged his resume), who tries to get some code working by copying my, completely unrelated code, and commenting stuff out until it works for him... that is a hack. And that is not a good hack, certainly not art.
It's a life style
I agree with you entirely. The people who wrote most of the software I use couldn't possibly be engineers, or, if they are, are about the worst engineers in history. (I mean, sure Galloping Gurdy was a big expensive bridge that collapsed, but at least it stayed up a few months... that's longer than a lot of the software I use.)
Here's the main difference:
Engineers take responsibility for their work. Almost all software developers offer no warranty, no guarantee, they don't carry a bond to cover damages like a plumber or electrician might. Before you can even unwrap the CD, you have to agree with a EULA that basically says, "we take no responsibility for anything."
If you hire an engineer to build a building, and it turns out that, say, the stairwell (while decorative) has sharp edges that might not be a good idea for a medical facility with many kids and seniors visiting, you can bet your ass that that engineer will come back in with a crew, remove those decorative elements, smooth out the sharp edges, and make it look nice again. I just watched the guys who build the new medical building across the street from me do exactly that.
Comment of the year
So, I assume you dont mean "coding" with hacking, even as our days hackers are most of teh time coders (doing some hardware also, ofc).
... if he does that long enough and works at his skills he will do stuff a mediocre jorneyman won't be able to do, he reaches the level of artisanity.
... he will probably reflect a lot and ask himslef, why did this thing fail and why did that one have this unexpected good result? The more he asks himself, the more he experiments, the more he figures "rules, patterns and exceptions" the more he is an scientist.
... so I would say most self called artists are not scientists, most good artists have a lot from a scientist and some of the good scientists have a lot of an artist, too.
... when you have your enlightment in a certain area you can choose if you approach your next "job" more in a "scientific" way or in a more "artistic" way, or if you do moth concurrently or interchangeable.
But, lets consider first:
Was Michel Angelo an Artist or a Scientist?
Strange question? So who painted the Chapell? Michel Angelo? No. His team did. You can even doubt if he did one single stroke with the brush himslef. Likely he did, but its even likely he did not.
So, still we consider him an Artist. But what does it take to be one? First of all he has to master all the craftmansship of making colours, making tools etc.
Then he has to get the expericane in doing a lot of "simple arts", finally he needs to get an reputation to be drawn into account for interesting high level arts.
After all he needs to be able to organize a team, to get in tough with sponsors, to make deals, to run a business.
So
But
The same is true for everything. Sadly most hackers only made one hack in young years and then consider them selves artists beyond the need to learn
Its a kind of zen
angel'o'sphere
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
It's neither. Talk about framing a subject in a loaded manner!
* An example of a false dichotomy: So, are all Slashdot readers pedophiles, or are they necrophiles?
In my world, hacking is both an art and a science. My case in point is the backlight on my laptop. As the CCFL tube died recently; I decided there must be a better way. The science portion was using my technical knowledge to determine what circuit I would need to power LEDs rather then the CCFL tube. The artistic portion was using imagination to come up with an alternative to the CCFL tube in the first place.
Artists and scientists overlap skills on a regular basis. However they don't like to admit it. Seems to me to be the reason for the term of _applied_ arts or science.
Art.
You finally develop the 'pocket-fit' all-in-one portable media-player, gaming system, telephone that some people want, but everyone ends up needing. You did it with science but without the artful eye you never would have caught and kept the public.
You debug scp code for weeks until you stumble upon a new trick to exploit the code. Without the science you wouldn't have known what was required to find the exploit. Without the art you wouldn't have had the out of the box vision that became your exploit. (And probably ended up being an issue in a lot of other code)
You develop a worm which targets countries using a geographical ip base. Worms communicate peer-to-peer and download new versions of themselves in order to avoid signature detection, and gain new features for new exploits. Targetting of core country routing areas through onine research [ie you stick in the ips you want to attack], or through distributed traceroute comparisons [or a combination of the two to account for infrastructure failover] becomes instantly trivial. Assume a relatively normal distribution rate, snag 500-2000 zombies your first day - instantly attack infrastructure or continue scanning and mutating in hopes of growing to an 80,000 zombie network. Average 10K/s uploads speed. Knocking countries off the face of the internet for long periods of time - doesn't seem to unrealistic. Make it work, and spread through social engineering, and artful coding (hiding existance, sticking communication code into what looks like exploit calls, signature evasion) - but without the science - never happen.
If its a real hack, its artful. And as for the definition of 'hack', it all applies. You hack every day, and it doesn't mean your sitting in front of a computer.
http://windows.scares.us
it is what you call it. but how do you turn or make what are actions into a noun?
both can be equally right at the same instance because a noun is rather meaningless after the fact.
why bother to redefine a definition? does it improve understanding or just as an exercise to break it into smaller parts that may be further defined and studied? it is so much oxygen atoms and so much hydrogen?
is cooking an art or science?
is beer making an art or science?
is making babies art or science?
see, you can ask that of anything?
Actually, engineers don't take personal responsibility for their work. Craftspeople do.
Engineers are licensed because they're aware of their field's engineering principles. In effect, they're abdicating the responsibility for performance to the principle, not to their professional reputation.
Craftspeople on the other hand rely on their personal reputation and know their standing in the industry relies on their past work. So they make sure anything attached to their name reflects who they are, what they stand for, etc.
Like everything else : It's what you make of it !
You are not artists guys, get over it.
(if you do real art I apologize).
IANAL but write like a drunk one.
It's neither specifically it's both.
It combines the creativity of art (in thinking outside the box and coming up with new ideas/concepts) to the technical solution to the problem (the science part).
Then art again can be applied to the science part in coding.
Hacking = Art + Science
Share your Knowlege - Kung-Fu Geekery
Lots of important inventions started out as one-off ideas that were tried before they were analyzed; hash tables, binary search, circular buffers for device drivers. Even Duff's Device.
Many situations require experimental programming so the coder can figure out how to get stuff done: What do I do to get this chip to output data? How do I get the database to give me the data I want in the form I want? Which regular expression will filter the log as I need it?
Experimental programming often makes up for weak or fuzzy specs when you need to read the spec to understand the chip, the database, the gigabytes of log data...
Bram Cohen gave a nice talk at Stanford about the need for experimentation in developing the network code for BitTorrent. The video is on the web.
I18N == Intergalacticization
I dont seem to see why everything nowadays needs to be label as EITHER...OR. Yes hacking in the beginning may have been a harmless term, and now it may carry stigma, but the timer period between is so large (considering the economic growth and tech increases) that it really doesn't make any differance what it started out as. This is how lanaguge is formed, a word is used and then updated to reflect the times. IF CBC or whatever TV you guys have in America (BBC all the way) decided to label computer intruders as 'Trappers' im sure that word would have a very differant meaning to us now, and most probably you'd be writing an article and i'd be disagreeing. Ground Zero
You feel sleepy. Close your eyes. The opinions stated above are yours. You cannot imagine why you ever felt otherwise.