There were hackers before there were computers, as nellardo pointed out.

There is no one trait that defines a hacker, just as there is no one trait that defines a schizophrenic. It is false to assume that generalists can not be hackers - in fact, very few hackers care for nothing but code. Look at the best hackers: Larry Wall - he's into religion, chemistry, and linguistics. Or Eric Raymond: Libertarian politics, paganism, science fiction, and more! Jamie Zawinski is starting a nightclub. Richard Stallman likes obscure music, and cares about human rights and homelessness. Or look at the noder whizkid sometime.

That said, I don't feel comfortable about sticking the label "Hacker" on anyone who really doesn't want it. But I also don't feel comfortable being put in a box as small as some of the above folks want to make the word into.

The assembly language comment is especially bizzare. I wish I knew I could trade my knowledge of assembly for almost any other modern language. I wouldn't trade my knowledge of Perl for anything short of world peace, even if it weren't my meal ticket.

But, while we're on the subject of ridiculous definitions of hacker, I am not a hacker, because my company wouldn't let me put "hacker" as a job title on my business card. It's not fair - my dad's wife's company lets her put "Designer To The Stars" on her card...