I recently had this discussion with a couple of my friends. I hold the view that a hacker is someone that possess a great knowledge about computers and programming. They are someone who enjoy the challenge of overcoming limitations placed before them, which can be looked at either in a bad way or a good way. They also enjoy to learn excessively. I really hate the pop culture definition of a hacker because it always assumes a hacker to be someone who breaks into other's computers, sure all hackers can do this, but I believe this is where the line between hacker and cracker begins. Just my honest opinion.