Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Technology

New Essay about Hacking 38

Markus Fleck (aka python) writes "First Monday, everyone's favorite "peer-reviewed journal on the Internet", features a nice (longish) essay by Gisle Hannemyr that compares "hacking" with "industrial programming", giving a nice overview of the history of hacking, and concluding that "hacking" is a "viable method" for software development. The essay also criticizes Joseph Weizenbaum for apparently "not liking hackers"... "
This discussion has been archived. No new comments can be posted.

New Essay about Hacking

Comments Filter:
  • I hail this work as a magnificient peice of work. It is well researched and written.

    This work looks as if it was not the produce of an all-nighter whim, but as if it were planned at greater lengths. Finally there now exists a reference to guide others to when they are in need of explanation to the word "hacker".

    Will Slashdot not put this as a permanent link somewhere?
  • A hack a a product. A hacker is a person. It might be possible to consider a person the product of a hack by its parents, teachers or psychologists, but that is probably rare.

    As you can find in e.g. the Jargon file, it is always better to be called a hacker (by the right group) than to call oneself a hacker. A wannabe may produce badly hacked up code, but then he is not a hacker in the sense the word is used in the hacker community.

    I have had extremely good experience with code done by hackers - I use programs written by hackers daily, and almost never have problems. I have limited experience with code generated under commercial condition (Netscape, Diabolo, Star Office), but these programs seem to fail all the time, and for no good reason.

  • If you've read the article, you should notice that it also includes user-criticism of Emacs, which it's being compared to.

    Giving examples with empirical evidence does well to make the point of some of the differences. Besides, it describes shortcomings of Word, as opposed to saying it sucks and leaving it at that.
  • This is the sort of thing that I hope becomes a permanant portion on the /. website. If you BSI fellows are reading this would it be possible to archive the meat and potatoes of this without the glitzy formatting on slashdot somewhere? Please say yes as I think that this truly is as important as a lot of the stuff that ESR and Jon Katz has published.

  • The author has obvious biases all throught the essay which make it feel more like a revisionist essay than an attempt at history. Here are some examples:

    To accomplish this, they turned to a more than fifty year old fad,
    Why the word "fad" over "practice?" The former is often used to indicate something short lived and with little long term effect.

    In the computer field, this spelled, among other things, the introduction of programming standards, code reviews, structured walkthroughs and miscellaneous programming productivity metrics.
    Interesting. I've found code reviews and walkthroughs very useful as a way to get peoples' code to work together. So this is a Taylorist fad? I don't plan to stop, esp. since every review I've been in has found bugs in the code. However, metrics are not very useful.

    It also prevented programmers from learning very much about the workings of the machine they programmed.
    We also use code reviews as a socialization method so others can learn about how things work.

    The emergence of hackers as an identifiable group coincides closely in time with the introduction of various Taylorist methods in software development.
    He has established correlation, not causation. You have to have many people to be a recognizable group, and these people have to work somewhere.

    Structured Programming is often the buzzword for an attempt to routinize and deskill programming work
    I believe the nomenclature has changed over the decades. I will not work with someone who does not write structured code.

    The hacker had been forced by his programming-illiterate boss into using some tools and methods that he considered unsuitable or inadequate for the task at hand.
    Or believes programming is a strictly personal and artistic expression and doesn't want to learn how to write code usable by others.

    The Hacker Community...
    A previous respondent said this was a full, detailed history of hackerdom. It isn't. At the very least, SAIL (the Stanford AI Lab) is not mentioned.

    The next step in establishing a hacking community was the ARPANet
    The author really must include dates in his essay. I seem to recall ARPA starting in the early 1970s. Does this mean the hackers of the 60s and 50s (both of which he asserts existed) did not comprise a community? They were.

    Consequently, first wave hackers became some of the most vigorous members in the communities commissioned to develop the ARPANet.
    Again, dates would be nice. Who are the first wave hackers?

    In contrast, the hacker's fascination with technology is not because they believe that technology will bring about great and revolutionary changes (or make any societal difference whatsoever)
    You must be aware of the possible effects of technology on society. Not doing so is a sign of irresponsibility. That's why organizations like the ACM have a code of ethics.

    Hackers love technology for its own sake. But hackers believe that technology is too a good a thing to be proprietary.
    I find these two viewpoints somewhat contradictory. What should a hacker do when offered to work with some really cool patented technology which will remain proprietary? If the love of technology is all, then there's no quandary -- work with the technology. This is not the case.

    While the techno-yuppies usually portrait the Internet as a laissez-faire utopia created out of thin air,
    If I am to take the reference to Nicholas Negroponte as an example of a "techno-yuppy" then this statment is wrong. Looking away from computers, you will see the same commentary about nuclear power in the 50s -- "too cheap to meter" -- when people who knew about nuclear power knew better. This "techno-yuppy" viewpoint comes from incomplete understanding, not some fundamental belief.

    Neither do most hackers share the techno-yuppies view of the Internet as a lawless environment
    Ha! The idea of "lawless environment" was the common belief amoung hackers some five years ago. In general, most people starting with the Internet believe there is some agency with regulartory power. The author must provide some way to back up his claim, for I believe it to be false.

    If necessary, hackers may at times do consulting "for money" just to make ends meet, but their priorities are clearly to earn a living in order to create beautiful technology, not the other way around.
    My. That's an old-style view of the world. I consider myself a hacker. I work in a company. I like working in a company because, believe it or not, I have more freedom to do things than in a university. And, I get to work on "free" software. Or, ask Alan Cox or any of the other non-academic hackers in the world. Now, can I have some numbers to back up his claim?

    Within the Hacker Community
    Is POSIX within or without? Most people I know perfer XML as an exchange document over HTML and don't think of it as a multimedia format. LaTeX is "outside the hacker community?" Could have fooled me.

    It is, however, interesting to note that the two most dysfunctional and misengineered ...originated from semi-democratic processes
    And what of ANSI C? And C++? And POSIX? And HTML 3 (or whatever number we're at)? And X11 is also one quite screwed up library (say, compared to DisplayPostscript), but that's within the "hacker community." I've tried understanding how gcc works, but quickly became confused.

    For typesetting complex text and graphics, the hacker community has provided TeX.
    The hacker community? As I recall, Knuth did most of TeX in the late 1970s, and he started using computers in the 1950s. Thus, are his ethics "first wave" or some other term?

    One of the reasons it does not behave like that by default is because the text editor is one of the programs that receives the most intensive use in many computing environments
    Now that is a severe case of revisionism. I have never heard anyone use that arguement before. Can someone point this out to me in a FAQ or emacs document somewhere? Oh, and I use xemacs, which is a GUI as WordPad or nedit.

    Commercial software is generally produced by teams of computer workers churning out the various components to a pre-set list of specifications.
    Again, the author's bias is evidenced by using the word "churning." If he had read a good software engineering book (and "Rapid Development" is my favorite) he would easily have found that some types of projects are best done that way; those for which the end results are well known. I imagine if there is ever a gcc rewrite, it will be done this way.

    it is unlikely that the computer workers themselves or anyone they actually know will make extensive use of what he creates.
    This statement has little meaning. Does this mean that someone writing software for rocket avionics must be a rocket scientist? Or that someone working on pacemaker software must need a pacemaker?

    As a result, the functional properties and qualities of the finished artifact are of little concern to the worker.
    Sure, but metal workers these days are not managed by a Tayloristic scheme and metal workers do take pride in thier work. My own grandfather did metal machining for a living and he was proud of what he did. So it is possible for people to do good work on things for which they are not the end user.

    Sometimes the myopia this causes lead to serious errors of judgement
    Hold up your hands people who haven't had serious errors of judgement for your own code? Thought so.

    A hacker, on the other hand, does not perform well producing piecework software components based upon pre-set specifications.
    So the authors of glibc are not hackers? And the people working on NFS3 support Linux? And what about those who write drivers for new file systems, like NTFS? In all those cases there are pre-set specifications.

    hackers generally require access to the artifact's interior and want to understand all parts of the systems they work on, including the components contributed by others.
    This is just as true for "workers in programming teams." Or, is a prerequiste of hackers that they cannot work in teams?

    the difference between the hacker's approach and those of the industrial programmer is one of outlook: between an agoric, integrated and holistic attitude towards the creation of artifacts and a proprietary, fragmented and reductionist one.
    I work in industry. I want to see code. He has asserted a false dichotomy.

    Hacking as a method for system development originated as a grass-roots reaction to attempts to impose an industrial mode of production on the development of software.
    Here the author confuses the word "Taylorism" (which is now rarely practiced in its original form) with "industrial." Couple of questions: Are the Mozilla developers, who apply pretty standard industry practices (proposals, designs, bug tracking, build management, etc.) hackers? Are software companies which have non-existent internal management full of hackers?

  • I found the comments about Word versus the
    combination of TeX and emacs to be truthful and
    well-balanced. The author does give credit to
    the superior user friendliness of Word. Did you
    read the paragraphs describing the author's
    experiences in trying to convert ordinary users
    to emacs? Or did you just skim the essay hurriedly
    so that you could get back to ./ and try to make first poster?

    It's true that Word isn't as flexible as software
    such as emacs or TeX and that its typesetting is
    atrocious. It's also true that most users don't
    know anything about nice typesetting, so nice
    typesetting didn't make it into the list of
    requirements for Word. Because Word is produced
    in a non-hacker environment, what isn't on the
    list of requirements won't appear in the product.

    Why shouldn't the author talk about MS Word
    and emacs, given that the essay is about the
    differences between the cultures that have given
    rise to these things?

    By the way, does it say ``Anonymous Coward'' on
    your driver's license too (assuming you are old
    enough to have one, that is)?
  • Sorry, but that is incorrect. The accepted meaning of the word means, at its purest, "one who enjoys programming." There is quite a bit of skill connotated. Check out the Jargon file for more info.

    Software "engineers" tend to produce adequate but rather bland code. Hackers produce interesting code. There is a place for both types of programming, but to think that an "engineered" program is of better quality than a program produced by hackers is quite a misconception.

    Linux is the ultimate hack-- it does exactly what is needed, and is produced by people who program because they love to program. And in that respect, it is much better than engineered systems; as with any art, the love for the project translates to pride and personal investment.

    You can define "hack" and "hacker" however you wish, but that does not change the accepted definition. You can define intelligence as the ability to speak, but the accepted definition is much more than that.
  • (people who dislike pedantry should skip the following comment)

    What's wrong with the spelling, grammar or punctuation of "Taylorist principles"? It parses correctly, and "Taylorist" is an acceptable neologism for "of or pertaining to Taylor".

    And "avant-garde" is a noun in English as well as an adjective. Possibly the author may have meant "vanguard", but that's a malapropism, not a spelling, punctuation or grammar error.

    With you on "bourgeoisie society" however.
  • Why was XML amongst the non-hackish technologies? It seems the very epitome of hackishness to me. (Although I'm hardly qualified, since I prefer NEdit over Emacs and have a sneaking fondness for programming in Ada.)
  • by acroyear ( 5882 )
    Go read your Bob Cringley (the _real_ one, at pbs.org). Jobs is NOT in it for the money. That's what makes him dangerous to the rest...
  • You've got an odd (or at least a partial) definition of "hack". Hacking is the art of computer programming. It is unstructured coding. A hacker "design document" is a description of how the program currently works, it is not a canonical description of how the program should work.

    Anyway, "hack" aside, your last paragraph agrees with the author.

    Using the best tools available for a job is not "hacking", it's good engineering practice.

    Exactly, hackers are "engineers." Best tools for the best job. The logical extension of that, of course, is that when you're creating a tool (like just about every non-game piece of software), you create it with the ability to do the best job possible. Software engineers, on the other hand, are "tinkers". They are forced to limit themselves by external, management requirements like cost or user-friendliness. This also creates non-optimal tools...

    Coming up with a way to do what you need even when your tools are limited is a hack.

    Your weird definition again. Visual Basic programmers are hackers, but perl programmers are not? Somebody writes a decent tool and hacking becomes impossible?

    I think the author has it backwards here; he claims the hackers are the ones who build the proper tools if need be.

    This is just an effect of the hacker's freedom to change goals. Knuth could set down his book to write TeX because he wanted to. Software Engineers only get write new tools when Marketing tells them too, or they can sneak it past Management.
  • Pretty much reinforces what I already know,
    including that:

    Steve Wozniak and Tim Berners-Lee: Hackers.
    Steve Jobs and Ted Nelson: Techno-yuppie money-grubbers;

    nevertheless, according to a certain CmdrTaco,

    "I don't bother explaining acronyms," says Malda, "so obviously Slashdot scares away the faint of heart. It's a built-in filter -- if you can't understand what's going on, read a different site."
    that is what we come here for.

    Clue: Can Katz.
    ---------------------------------
    "The Internet interprets censorship as damage,

  • Katz is from the fluff school of journalism, which
    pervades every media outlet today whether it be in
    print or on the Web.

    The rules are simple: assume your readers to be
    stupid and proceed to treat them as such.

    A person may be ignorant; it is the journalist's
    duty to inform them of the facts. That is
    precisely what I, and I think a lot of other
    persons, have against Katz.

    Take his "Descent into Linux" series.

    His ordeal, as he notes in the beginning of the
    first part, was begun partly because of the
    improper representation of various characters in
    MS Word.Frankly, I do not care what platform or
    word processor he uses. However, a few paragraphs
    down we see this:

    After years of writing online, my technology as
    well as my opinions had suddenly become
    controversial.
    A person who has had "years of writing online"
    should know enough to author and submit his
    writings in HTML, solving any possible
    incompatibility between viewing platforms.

    Katz apparently does not know this.
    Ignorance or stupidity? You decide.
    ---------------------------------
    "The Internet interprets censorship as damage,

  • Back in the days of Babe Ruth, good baseball players rose to the top by their own natural talent. There was a wide gulf between the best, the average, and the worst. Today everyone gets coaching from Little League on up. The sum and the average of the talent remain the same, but the worst have been improved by coaching while the best have had their natural talent smothered by that same coaching.

    Thus it is with programming. Hackers have the natural talent. Design Schools and Programming Guidelines raise the proficiency of the worst and smother the best. Yes, Schools churn out tolerable programmers, but the best learn on their own without being smothered by Guidelines and Certificates. They may well go to school too, but they learn a craft on their own, and put up with the Official Line just to get that degree.

    --
  • I agree with the poster above -

    Why can't we have more articles on the community, and less flame-bait?



    --
  • SiliconJesus is right, this article should be part of a permanent /. repository. It includes one of the most thorough histories of hackerdom I've ever read. But I hope someone will go through and clean it up a little bit first.

    David Boundy states the following in his _A_Taxonomy_of_Programmers_ (http://csis.olivet.edu/CSIS/courses/s98/taxonomy. html) :
    A great programmer writes many languages well (English not least among them!)...

    Any paper, peer reviewed or otherwise, that poses as an academic treatise by using phrases such as bourgeoisie society, Taylorist principles and avant-garde of neo-laissez-faire economic liberalism really ought to take spelling, grammar and punctuation into account.

    I realize that that author may not be a native English speaker, but if the paper was authored by a University Fellow...

    Just my 2 cents.
  • SiliconJesus is right, this article should be part of a permanent /. repository. It includes one of the most thorough histories of hackerdom I've ever read. But I hope someone will go through and clean it up a little bit first.

    David Boundy states the following in his _A_Taxonomy_of_Programmers_ (http://csis.olivet.edu/CSIS/courses/s98/taxonomy. html) :
    A great programmer writes many languages well (English not least among them!)...

    Any paper, peer reviewed or otherwise, that poses as an academic treatise by using phrases such as bourgeoisie society, Taylorist principles and avant-garde of neo-laissez-faire economic liberalism really ought to take basic rules of grammar into account.

    I realize that that author may not be a native English speaker, but if the paper was authored by a University Fellow...

    Just my 2 cents.
  • >Sorry, but you are wrong. The accepted meaning of the word means, at its purest, "one who enjoys >programming." There is quite a bit of skill connotated. Check out the Jargon file for more info.

    I did. And you shouldn't be so quick to judge. Here is the definition straight out of the Jargon file (not including the special section entitled "The Meaning of 'Hack"):

    hack
    1. /n./ Originally, a quick job that produces what is needed, but not well.
    2. /n./ An incredibly good, and perhaps very time-consuming, piece of work that produces exactly what is needed.
    3. /vt./ To bear emotionally or physically. "I can't hack this heat!"
    4. /vt./ To work on something (typically a program). In an immediate sense: "What are you doing?" "I'm hacking TECO." In a general (time-extended) sense: "What do you do around here?" "I hack TECO." More generally, "I hack `foo'" is roughly equivalent to "`foo' is my major interest (or project)". "I hack solid-state physics." See Hacking X for Y.
    5. /vt./ To pull a prank on. See sense 2 and hacker (sense 5).
    6. /vi./ To interact with a computer in a playful and exploratory rather than goal-directed way. "Whatcha up to?" "Oh, just hacking."
    7. /n./ Short for hacker.
    8. See nethack.
    9. [MIT] /v./ To explore the basements, roof ledges, and steam tunnels of a large, institutional building, to the dismay of Physical Plant workers and (since this is usually performed at educational institutions) the Campus Police. This activity has been found to be eerily similar to playing adventure games such as Dungeons and Dragons and Zork. See also vadding.
  • It's back now, try again.
  • It seems to me that this article is something of
    a rebuttal to conventional ideas about the formation of the internet and even to Eric S Raymond's idealization of the process of free software development, instead 'hackerism' is also
    a political statement about the direction and uses of technology.

    Unlike the authors I am far less optimistic about the stability of this ethos, its birthplace, in
    general the universities have become increasingly
    commercialised and free software seems dominated
    by those who oppose 'ideological' purposes for
    its development like the FSF.
  • I'll keep it short. This guy says that bad programming practices are defined as 'Industrial' and all good practices he attributes as standard 'Hacker' practices.

    This is a joke, right?

    I suppose that he never read Rapid Development? A Microserf wrote that one. How about the Patterns/Anti-Patterns movement? Are these guys hackers? C++ was written by Bell Labs, idiot. And designed by a commitee. Read 'Design and Evolution of C++'

    Bad practices happen in Industrial software when a well meaning, uneducated manager tries to develop a product using undisciplined/untrained/inexperienced hackers.

    Keep on searching for the 16 year old proto-genius that is a repository of all experience, knowledge and ability simply because he was born that way. That's what all hackers think they are, right? Arrogance is healthy when you can back it up. You suck, hackers suck, and as software becomes more complex, your whiny little communist ideals will spin through your head as you are waiting on line for your welfare cheese.

I've noticed several design suggestions in your code.

Working...