html code

How To Become A Hacker

Why This Document?

As his author Jargon File and author of other well-known documents of a similar nature, I often receive email requests from enthusiastic network novices asking (in essence) "how can I become a very capable hacker?" Back in 1996 I noticed that there did not seem to be any other FAQ or web document that raised this vital question, so I started. Many now they consider it a point of definition, and I guess that means it is. I also do not argue that I am the exclusive authority in this matter. If you do not like what you read here, write yours.

html-code Hacker

Note: The current version is in http://earthlab.uoi.gr/indy/hacker-howto-gr/.

The original, English version of this document is at http://catb.org/~esr/faqs/hacker-howto.html. Many translations are available in Arabic, Bulgarian, Catalan, Chinese (Simplified), Danish, Dutch, Hebrew, Finnish, German, Italian, Japanese, Norwegian, Polish, Portuguese, Brazilian, Spanish, Turkish, and Swedish . Note that since this document is periodically modified, it may not be up to date.

The five-dot-to-nine-square diagram that decorates this document is called a glider. It's a simple design with some amazing properties in a mathematical simulation called Life and entertained the hackers for many years. I think it's a good visual emblem of what hackers look like - a bit mysterious at first, but a gateway to a whole world with its own, intricate logic. Read more about the emblem glider here.

glider
What Is A Hacker?

The Jargon File contains a bunch of definitions for the term 'hacker', most of which have to do with technical ability and a joy in solving problems and pushing boundaries. But if you want to learn how to become a hacker, only two are really relevant.

There is a community, a shared culture, of experienced programmers and network veterans that traces its history back decades to the days of the first minicomputers and the newer ARPAnet experiments. Members of this culture coined the term 'hacker'. Hackers built the internet. Hackers shaped the Unix operating system into what it is today. Hackers run Usenet. Hackers make the World Wide Web work. If you're part of that culture, if you've contributed to it and other people in it know who you are and call you a hacker, you're a hacker.

The hacker mindset is not limited to this software hacker culture. There are people who apply the hacker ideology to other fields, such as electronics or music – in fact, you can find it at the highest levels of any science or art. Software hackers recognize these refined spirits everywhere and may call them 'hackers' too – and some claim that the nature of hacking is really independent of the particular medium the hackers work in. But in the rest of this paper we will focus on the skills and ideology of software hackers, and the traditions of the shared culture that established the term 'hacker'.

There is another group of people who call themselves hackers, but they are not. These are people (mostly teenagers) who find it fun to hack into computers and hack the phone system. Real hackers call these people 'crackers' and want nothing to do with them. Real hackers mostly believe that crackers are lazy, irresponsible, and not very smart, and the fact that you can crack security doesn't make you a hacker, just like the fact that you can wreck cars doesn't make you a car mechanic. Unfortunately, many journalists and writers have been fooled into using the word 'hacker' and use it to describe 'crackers'. This annoys real hackers too much.

The main difference is this: hackers build things, crackers break them.

If you want to be a hacker, keep reading. If you want to be a cracker, go to the alt.2600 discussion group and get ready to make five out of ten and find out that you are not as smart as you think. And that's all I'm going to say about crackers.

glider

The Idea of ​​Hackers

1. The world is full of fun problems waiting to be solved.
2. No problem should be solved twice.
3. Boredom and chore are diabolical.
4. Freedom is good.
5. Ideology is not a substitute for ability.

Hackers solve problems and build things, and they believe in freedom and voluntary mutual aid. To be accepted as a hacker, you have to behave like you have this ideology. And to behave like you have this ideology, you really have to believe it.

But if you act like a hacker just to be recognizable in the culture, you will lose your purpose. Becoming the type of person who believes in these things is important to you - to help and motivate. As with all creative arts, the most effective way to become a teacher is to consolidate the minds of the masters - not just mentally, but also emotionally.

Or, as the modern Zen poem puts it:
To follow the path:
looked at the teacher,
followed the teacher,
walked with the teacher,
see through the teacher,
become the teacher.

So if you want to be a hacker, repeat the following until you believe them:
1. The world is full of fun problems waiting to be solved.

Being a hacker is a lot of fun, but it's a kind of fun that takes a lot of effort. Effort requires motivation. Successful athletes are motivated by a kind of natural pleasure that stems from having good performance and pushing oneself to overcome their own physical limits. Similarly, to be a hacker you need to get an enthusiasm to solve problems, to practice your abilities and intelligence.

If you are not the type of person who feels like this from its natural, you have to become a hacker. Otherwise, you will see that your energy for hacking will be wasted by factors such as sex, money, and social acceptance.

(You also need to develop a kind of faith in your own ability to learn – so even if you don't know what's required to solve a problem, if you tackle one part of it and learn from it, you'll know enough to solve the next part – and so on, until you're done.)
2. No problem should be solved twice.

Creative minds are a valuable, limited resource. They should not be wasted on "rediscovering the wheel" when there are so many fun new problems waiting.

To act like a hacker, you have to understand that the time other hackers think is precious - so much so, that it is almost a moral duty for you to share information, and when you have problems to share solutions so that other hackers can to solve new problems instead of constantly having to deal with old ones.

He noted, however, that "no problem should be solved twice." does not mean that we should consider all existing solutions sacred, or that there is only one solution to each problem. Often, we learn a lot about a problem that we did not know before by reading its solution. It is okay, and often necessary, to decide how we can provide a better solution. What's wrong is artificial, technical, legal, or institutional boundaries (such as closed source) that prevent a good solution from being reused and force people to "rediscover wheels."

(You do not have to believe that you have to share all of your creative material, but the hackers who do it are the ones most respectful of other hackers. It is compatible with the hacker's values ​​of selling enough of your material to you can live a decent life It's good to use your skills in hacking to support a family or even to become rich if you do not forget your faith in your art and hacker friends as long as you do that.
3. Boredom and chore are diabolical.

Hackers (and creative people in general) should never be bullied and forced to do some silly routine work, because when that happens, it means they are not doing what they want and can - to solve new problems. This waste of time and effort hurts everyone. So boredom and chores are not just unwanted, but diabolical.

To behave like a hacker, you have to believe this so that you want to automate the dirty work as much as possible, not just for you but also for everyone else (especially for other hackers).

(There is an obvious exception to this. Hackers sometimes engage in processes that may seem like chores to an observer, in order to exercise their mind, or to acquire a skill, or some kind of experience that is not otherwise acquired. But this is a matter of choice - no thinking person should ever be forced to be in a situation that affects him.)
4. Freedom is good.

Hackers are naturally anti-authoritarian. Anyone who gives you orders can stop you from solving a problem that entertains you - and, according to the way the authorities think, they will find some silly reason to do so. Thus, the ideology of the rulers must be fought wherever it is, because it stifles you and the other hackers.

(This is not the same as fighting all forms of authority. The πρέπει να συμβουλεύονται και οι εγκληματίες να εμποδίζονται. Κάποιος hacker μπορεί να συμφωνήσει να δεχθεί ένα είδος εξουσίας, περισσότερο για να πετύχει κάτι που θέλει, παρά για να ξοδεύει χρόνο ακολουθώντας διαταγές. Αλλά αυτή είναι μια περιορισμένη, συνειδητή συμφωνία. Το είδος προσωπικής παράδοσης που επιθυμούν οι εξουσιαστές δεν το προσφέρουμε.)

Authoritarians support censorship and secrecy. And they don't trust voluntary cooperation and information sharing. They only like 'collaboration' that they control. Thus, to act as a hacker, you must develop an instinctive dislike of censorship, secrecy, abuse of power, and deception. And you must be willing to act on that view.
5. Ideology is not a substitute for ability.

To be a hacker, you need to develop this ideology. But by simply gaining an ideology you do not become a hacker, as you do not become an athlete, or a Rock star. Being a hacker requires intelligence, practice, dedication, and hard work.

Therefore, you need to learn to value ability. Hackers do not waste time with people who are constantly gaining traction, but deeply value the ability - especially the ability to hack, but the ability in any field, is considered important. Being proficient in areas that few succeed in is particularly good, and being proficient in areas that require sharpness of mind, art, and concentration is even better.

If you respect the ability, you will find it fun to develop it for yourself - hard work and dedication will become a kind of intense game instead of a routine. This reasoning is vital to your career as a hacker.
glider
Basic Skills of Hacking

1. Learn to Program.
2. Take one of the open source Unixes and learn how to use it and run it.
3. Learn how to use the Web and write HTML.
4. If you do not know functional English, learn.

The hacker's ideology is vital, but the skills are even more vital. Ideology is not a substitute for ability, and there is a certain field of knowledge that you must have before you even dreamed that a hacker would call you that.

This field of knowledge changes slowly over time, as technology creates new abilities and disables old ones. For example, you had to know how to program in machine language, and until recently, HTML knowledge was not required. But now, clearly, the following are required:
1. Learn to Program

This, of course, is the most important skill for hacking. If you do not know any programming language, I recommend that you start with Python. It is clearly designed, well documented, and relatively friendly to beginners. Apart from being a good first language, it is not just a toy. It is very strong and flexible and suitable for large projects. I've written one more detailed evaluation of Python. Good manuals are available at Python web site.

At this point, I suggested Java as a language for learning early, but this critique μού άλλαξε γνώμη (ψάξτε για το “The Pitfalls of Java as a First Programming Language” μέσα σε αυτή). Ένας hacker δεν μπορεί, όπως καταστροφικά το θέτουν “να προσεγγίσει τη λύση προβλημάτων όπως ένας υδραυλικός σε μαγαζί ”. Πρέπει να γνωρίζεις ουσιαστικά το τί κάνουν τα συστατικά. Πλέον πιστεύω ότι μάλλον είναι καλύτερο να μάθεις C και Lisp πρώτα, και μετά Java.

If you get into serious programming, you need to learn C, the Unix kernel language. C ++ is similar to C. If you know one, you will not have difficulty learning the other. But neither of these two languages ​​is good for you to learn as your first. And, basically, the more you can avoid programming in C, the more productive you will be.

The C is very efficient, and very economical for your machine resources. Unfortunately, C is so efficient because it requires you to do a lot of low-level management (like computer memory management) on your own. All this low-level code is complicated and error prone, and will waste a lot of your time debugging. With today's machines, as powerful as they are, this is usually a bad choice - it is smarter to use a language that uses your machine time less efficiently, but your own time much more efficiently. Consequently, Python.

Other languages ​​of particular importance to hackers are Perl and LISP. It's worth learning Perl for practical reasons. It is widely used for creating dynamic websites and for managing systems, so even if you never write Perl, you have to learn to read it. Many, they use Perl as I recommend using Python, that is, to avoid programming in C, in cases where C's efficiency is not required. You should be able to understand their code.

It is worth learning LISP for a different reason - for the deep experience you will gain when you learn it. This experience will greatly improve you as a developer, even if you do not use LISP much. (You can gain some initial experience with LISP relatively easily by writing and modifying Emacs word processor formats, or additional Script-Fu for GIMP.)

It would be very good to learn all five languages: Python, C / C ++, Java, Perl, and LISP. Apart from being the most important languages ​​for hacking, they represent very different programming approaches, and each will train you in its own way.

But know that you will not reach the skill level of a hacker or even a developer if you know only one or two programming languages. You have to learn how to think about programming problems in general, regardless of any language. To be a real hacker, you have to get to know a new language in days by associating what's in the manual with what you already know. This means you have to learn many, very different languages.

I can not give here complete instructions on how to learn to program - it is a complex skill. But I can tell you that books and lessons will not help you much (many, perhaps most of the best hackers are self-taught). You can learn elements of languages ​​- pieces of knowledge - from books, but the method that will turn this knowledge into a living ability can only be learned through practice and apprenticeship. What it will really teach you is (a) to read code and (b) to write code.

Peter Norvig, one of Google's best hackers and one of the two authors of the most widespread book in Artificial Intelligence, has written an excellent essay called Teach Yourself Programming in Ten Years. The "recipe for programming success" he wrote deserves special attention.

Learning to program is like learning to write your native language correctly. The best way to do this is to read material written by experts, to write a little, to read more, to write a little more, to read even more, to write a little more… and so on, until your writing to begin to develop the kind of power and economy you see in your models.

It used to be difficult to find good code to read, because there were not many large well-written programs available in code for hackers to read and modify. This has changed dramatically. Open source software, programming tools and operating systems (all built by hackers) are now available. And so we will move on to the next topic…
2. Take one of the free software Unixes and learn how to use it and run it.

I think you have a personal computer or you have access to one. (Think about how important this is.) The hacker culture evolved when the computers were so expensive that one person alone could not have one.) The first and most important thing a novice can do to begin his career in hacking, is to get a copy of Linux or one of BSD-Unixes or OpenSolaris, install it on a personal computer, and run it.

Yes, there are other operating systems in the world besides Unix. But everything else is shared in binary - you can not read the code and you can not modify it. Trying to learn how to hack into a Microsoft Windows machine or any other closed source system is like trying to learn to dance while wearing armor.

On Mac OS X it is possible, but only part of the system is open source - you will probably hit a lot of "walls", and you should be careful not to develop the bad habit of relying on Apple's proprietary code. If you focus exclusively on Unix, you will learn some useful things.

Unix is ​​the operating system of the Internet. While you can learn to use the Internet without knowing Unix, you can not become an Internet hacker without understanding Unix. For this reason, the hacker culture today is highly focused on Unix. (This was not always true, and some old hackers are still not happy with it, but the symbiosis between Unix and the Internet has become so strong that neither Microsoft's muscle seems capable of bending it seriously.)

So get a Unix – I personally like Linux but there are other kinds (and yes, you can run both Linux and Microsoft Windows on the same machine). Learn it. Run it. Play with him. Talk on the Internet through it. Read the code. Modify the code. You'll have far more programming tools (including C, LISP, Python, and Perl) than any Microsoft operating system. Have a good time, and you'll learn so much that at some point you'll remember yourself learning while you're an accomplished hacker.

For more information about Unix, see the The Loginataka. You can also take a look at The Art of Unix Programming.

To get your hands on Linux, see the website Linux Online! - you can download it from there, or (a better idea) find a local Linux friends club to help you with the installation.

During the first ten years of this HOWTO's life, I mentioned that from the point of view of a new user, all distributions of Linux are almost the same. But within 2006-2007, an objectively better option appeared: the Ubuntu. While other distributions have their own assets, Ubuntu is by far the most easy-to-use Linux beginner.

You can find help and resources for BSD Unix on www.bsd.org.

A good way to get an idea is to run what Linux friends call a live CD, a distribution that runs exclusively from a CD without the need for modification of the hard disk. This will be slow, because the CDs are slow, but it's a way to see how things are, without having to do anything drastic.

You can find help and resources for BSD Unix on www.bsd.org.

I have written some things about them basically Unix and the Internet.

(Note: I do not recommend installing Linux or BSD on your own if you're a novice. For Linux, find a local Linux friends club and ask for help.)
3. Learn how to use the Web and write HTML.

Most of the things hackers have created are running in the background, helping factories, offices, and universities work without people who are not hackers. The Web is a great exception, the giant hacker game that even politicians admit to having changed the world. For this reason (and others too) you have to learn how to work with the Web.

This does not mean just knowing how to drive a browser (anyone can do it), but learning to write HTML, the descriptive language of the web. If you do not know how to program, writing HTML will teach you some good habits that will help you learn. Build a personal website. Try to follow XHTML, which is a purer language than classical HTML. (There are good manuals on the Internet - here is one.)

But just because you have a website will not make you a hacker. The internet is full of personal websites. Most of them are useless, meaningless - badly designed, and ugly (for more on this, see The HTML Hell Page).

To be relevant, your site must have substance - it must be interesting and / or important to other hackers. And that brings me to the next topic…
4. If you do not know functional English, learn.

As an American, and having English as a mother tongue, I had doubts about advising this because it could be considered a cultural imperialism. But other people who do not have English as their mother tongue have prompted me to stress that English is the language of hacker culture and the Internet, so you need to know it to work in hacker society.

Back to 1991 I found out that hackers who do not have English as a native speaker use it in their technical discussions, even if they have a common mother tongue. I was then informed that English has richer technical vocabulary than any other language and is simply a better tool for work. For similar reasons, translations of English technical books are often unsatisfactory (if eventually completed).

Linus Torvalds, a Finnish, writes English comments on his code (apparently he never thought he could do otherwise). His joy in English has been an important factor in his ability to gather developers from around the world to make Linux together. It is an example to be imitated.

Even if you have English as your mother tongue, it is not certain that you have the right language skills to act as a hacker. If your writing is misspelled and badly written, many hackers (including me) will ignore you. Although bad writing does not necessarily mean incompetent mind, we have generally noticed that the relationship between the two is great - and we do not accept people who do not have the ability to think. If you have not yet learned to write correctly, do so.
glider
Social Profile in Hacker Culture

1. He wrote open source software
2. Helped in debugging and debugging open source software
3. Published useful information
4. Helped to maintain the infrastructure
5. He served the hacker culture as such

As in most cultures without economic activity, the world of hacking counts on fame and awareness. Trying to solve interesting problems, but how useful they are, and whether your solutions are good, is something that will be considered by members of society.

Similarly, when you "play" the "game" of hacking, you learn to "keep score" according to what other hackers think of you (for this reason you are not a hacker until other hackers call you that). This is hidden by the fact that hacking is a secret job.

In particular, the world of hacking is what sociologists call a gift culture. In this, you are not recognizable by conquering other people, by either being handsome or by having things that others want, but by giving things. In particular, by giving your time, your creativity, and the results of your abilities.

There are five basic things you can do to hackers:
1. He wrote open source software

The first (the most important and the most traditional) is to write programs that hackers find fun or useful, and to release the program code so that the hacker community reads and uses it.

(We used to call this “”, but this confused many people who did not interpret the word “free” correctly. Most of us now prefer the term “open source software”.)

The "demigods" in the world of hacking are people who have written great, useful programs that have spread widely, and so now everyone uses them.

Here, it is worth mentioning an important historical truth. While the hacker community was almost always made up of open source developers, before the mid-1990s, most hackers wrote mostly closed source code. This was the case until the first edition of this document was written in 1996. After 1997, this situation changed radically. Today, "hacker society" and "open source developers" are two descriptions of the same culture and the same population - but it is worth remembering that this was not always the case.
2. Helped in debugging and debugging open source software

Very important is the work of people sitting and debugging open source software. In this incomplete world, we will spend a lot of our time in debugging programs. This is why open source developers believe that good volunteer beta level controllers (who know how to describe mistakes cleanly, focus on the problem, be brief and inclusive, and have an appetite to help) deserve their weight in gold. Even one of them can make the difference in the debugging phase, which is debilitating, unpleasant and not very interesting.

If you are a beginner, try to find a program under development that interests you, and become a good beta level controller. There is a natural advancement in helping to control programs, to help debug them, and finally to modify them. You will learn a lot in this way, and you will develop good relationships with people whose help you will need later.
3. Published useful information

Another good thing is to collect and filter useful and interesting information on websites or documents such as Frequently Asked Questions (FAQ) lists, and to notify them.

Major FAQ maintainers enjoy so much respect, almost as long as open source developers.
4. Helped to maintain the infrastructure

The hacker community (and the technical development of the Internet) is run by volunteers. There is a lot of necessary but unpleasant work to be done to maintain the infrastructure - managing email lists, organizing discussion groups, maintaining websites that store large amounts of software, developing RFCs, and other technical tasks.

People who do this kind of work are highly respected, because everyone knows that this work is a huge waste of time and not as much fun as "playing" with code. Doing them shows devotion.
5. He served the hacker culture as such

Finally, you can serve and propagate the culture itself (for example, by writing an apt essay on how to become a hacker :-)). This is not something you will do until you become known for one of the first four.

The hacker community does not exactly have leaders, but it does have "wise men", historians and representatives. If you are in things for a long time, you can become one of them. Beware: Hackers do not trust selfish and people who want to attract attention. So instead of constantly pursuing it, you should earn the respect of others and make them trust you.
glider
The Hacker / Nerd Connection

Contrary to widespread myth, you do not have to be a nerd to be a hacker. It helps though, and many hackers are basically nerds. Being socially excluded helps you stay focused on really important things like thinking and hacking.

For this reason, many hackers have "adopted" the title 'nerd' and sometimes use the even harsher term 'geek' as a symbol of pride – it's a way of declaring their independence from social norms.

If you manage to get into hacking, and be good at it, while you have life, that's fine. This is much easier today than I was when I was a novice, 1970. The world now, is much more friendly towards the nerds. There are also groups of people who think hackers are often very good lovers or spouses.

If you are attracted to hacking because you have no life, that's also okay - at least you won't have trouble concentrating. Maybe you will gain life later.
glider
References For Style

To be a hacker, you must have the hacker's thinking. There are some things you can do when you are not on a computer that seems to be helping. They are not substitutes for hacking, but many hackers do it, and they feel they are somehow related to the essence of hacking.

Learn to write your native language correctly. Although developers are not good at writing, a lot of hackers (including even the most capable) are very good writers.

He was reading science fiction. Go to science fiction meetings (a good way to meet hackers and proto-hackers).

Practice a martial art. The type of mental discipline required in the martial arts seems to be similar to what hackers do. The most popular martial arts for hackers are definitely Asian empty hand arts such as Tae Kwon Do, Judo, various types of Karate, Wing Chun, Aikido, or Ju Jitsu. The Western and Asian arts of the sword are also a good thing. In places that are legal, shooting is becoming popular with 1990. The arts most related to hacking are those that focus on the discipline of mind, relaxation, and control, rather than brute strength, or physical resilience.

Study a kind of mental concentration. The most common to hackers is Zen (you can benefit from Zen without having to worship a new religion or renounce the one you believe in). And other species are good too, but be careful not to choose one that requires you to believe unreasonable things.

He developed an analytical ear in music. Learn to listen to specific types of music. Learn to play a musical instrument well, or sing.

Develop your own puns.

The more you already do, the more likely you are hacking inside of you. All of this is not entirely clear, but they are related to a mixture of left and right brain capabilities, which is important. Hackers need to be able to think and think logically, but also to evade logic in specific cases.

Work as hard as you play and play as hard as you work. For real hackers, the boundaries between "game", "work", "science" and "art" tend to disappear, or merge into a productive and entertaining mix. Also, do not limit yourself to a few skills. Although most hackers describe themselves as programmers, they are probably very skilled in other areas as well - systems management, web design, and troubleshooting computer hardware are some commonplace. A hacker who is a system administrator can be proficient in programming and web design. Hackers do not cut things in half. If they dedicate themselves to a field they will become very good at it.

Finally, some things you do not do

  • Do not use silly, overwhelming user ID or screen names.
  • Do not engage in disputes in Usenet (or anywhere else).
  • Don't call yourself a 'cyberpunk', and don't waste your time on anyone who does.
  • Do not post in writing, and do not send email that is full of spelling mistakes and nasty grammar.
  • You will gain a bad reputation by doing any of the above. Hackers have great memories - it could take years to forget something bad you did.

The problem with screen names or "masks" deserves some analysis. Hiding your identity behind a mask is childish and silly behavior. It is characteristic of crackers, warez d00dz, and other lower life forms. Hackers do not do that. They are proud of what they do and want it to be associated with their real name. So if you have a mask, throw it away. In hacker culture it will just mark you as a failure.
glider
Other Sources

Paul Graham has written an essay called Great Hackers, and another, the Undergraduation, in which he speaks with great wisdom.

Peter Seebach keeps an excellent one Hacker FAQ for directors who do not know how to hackers.

There is an article that is said How To Be A Programmer and is an excellent complement to this. It does not just contain valuable information about programming, but also about how to behave within a programming team.

I have also written it A Brief History Of Hackerdom.

I've written it too The Cathedral and the Bazaar, which explains a lot about how Linux and open-source communities work. I have touched on this subject, even more in detail, at Homesteading the Noosphere.

Rick Moen has written an excellent document: how to run a Linux user group.

Rick Moen and I have worked on another document: How to Make Smart Questions. This will help you seek help in a way that is more likely to help you.

If you have questions about how the basics work on personal computers, on Unix, and on the Internet, you can look at The Unix and Internet Fundamentals HOWTO.

When you notify software or write software supplements, try to follow the instructions in Software Release Practice HOWTO.

If you liked the Zen poem, you may also like it Rootless Root: The Unix Koans of Master Foo.
glider
Frequently Asked Questions

Q: How do I know if I'm already a hacker?
Q: Will you teach me to hack?
Q: How can I start?
Q: When should I start? Is it too late to learn?
Q: How long will it take me to learn to hack?
Q: Is Visual Basic a good language to start?
Q: Will you help me "break" a system, or do cracking?
Q: How can I get someone else's password?
Q: How can I enter / read / control someone else's email?
Q: How can I steal administrator rights to IRC?
Q: They have invaded my system. Will you help me avoid future invasions?
Q: I'm having problems with my Windows software. Will you help me;
Q: Where can I find real hackers to talk to them?
Q: Can you recommend good books about hacking?
Q: Do I have to be good at math to become a hacker?
Q: Which language should I first learn?
Q: What material do I need?
Q: I want to contribute. Can you help me choose a problem to work on it?
Q: Should I hate Microsoft?
Q: But open source software will not let developers become unemployed?
Q: How can I start? Where will I find a free Unix?

E:

How do I know if I'm already a hacker?
A:

Ask yourself the following three questions:

Are you able to write code?

Do you identify with the goals and values ​​of the hacker community?

Has a registered member of the hacker community ever called you a "hacker"?

If the answer to all three of these questions is yes, then you are already a hacker.

The first test relates to the ability. You probably pass it if you have all the technical abilities described earlier in this document. You pass the test if an open source project has received a significant amount of code.

The second test is about ideology. If the five principles of your hacker's ideology were obvious, and as a kind of description of your way of life, rather than something unrealistic, then you have achieved half. The other half is the extent to which you agree with the long-term goals of the hacker.

Here is an incomplete but indicative list of some of these goals: Are you interested in improving and spreading Linux? Are you passionate about software freedom? Are you opposed to monopolies? Do you think that computers can become instruments for improving the world and that they can bring prosperity and humanity to the earth?

But here, it is worth mentioning something. The hacker community has some specific, mainly defensive, political interests - two of which are advocating for freedom of speech and preventing the kind of copyright that would make unsecured code illegal. Other long-term goals are to support organizations such as the Electronic Frontier Foundation, and institutions of a similar nature. But other than that, most hackers have disagreements over attempts to turn hacker ideology into a form of political movement. We have experienced that such efforts lead to separation and detachment. If someone tries to "recruit" you on a march in your capital, in the name of hacker ideology, they have lost the essence. The correct answer is "Shut it down and show them the code."

The third test has the element of repetition. I noticed in the section called "What is a Hacker?" that being a hacker is a matter of belonging to a specific community or a social network with a common history. In the distant past, hackers were less aware of their links and less connected to each other than they are today. But the importance of belonging to a society has grown stronger, especially with the development of the Internet, and the core of the hacker community has become easier to maintain and grow. A simple example of this change is that this century, we have our own T-shirts.

Sociologists studying communities such as hackers have noticed that one of the hallmarks of such communities is that they have "gatekeepers" - important members, with the social authority to bring new members into the community. Because the hacker culture has no clear boundaries, the role of "guardian" is unofficial. But what all hackers know very well is that not all hackers are guards. The guards have a certain degree of prestige and have done deeds that allow them to have this title.
E:

Can you teach me to hack?
A:

Ever since I first published this article, I have received many requests each week (or daily) from people asking me to "always know about hacking". Unfortunately, I do not have the time or energy to do this. My hacking projects take up 110% of my time.

Even if I could do it, hacking is a rationale and a set of skills that you have to teach yourself. You will understand that while hackers want to help you, they will not respect you if you want to know what they know, without you doing anything.

Initially, learn some things. Show how you progress, how you can learn by yourself. Then ask hackers specific questions.

If you are emailing a hacker for advice, keep a few things in mind. First, we have noticed that people who do not present good writing are usually incapable of thinking to be good hackers - so make sure you pay attention to your spelling, and use proper grammar, otherwise they will probably ignore you. Second, do not dare to reply to an ISP account other than the one you are narrowing down. Those who do this are usually thieves using other people's accounts and we are not willing to reward or assist the theft.
E:

How can I start?
A:

The best way to get started is to go to a meeting of a Linux friends club. You can find such groups in the LDP General Linux Information Page. Probably there is one near you, probably associated with a college or college. LUG members will give you a Linux if you ask them, and they will help you install it and start using it.
E:

When should you start? Is it too late to learn?
A:

Any age in which you have the appetite to start is good. Most of them seem to be beginning to drive between 15 and 20, but I know exceptions in both directions.
E:

How long will it take me to learn to hack?
A:

This depends on how talented you are and how hard you will work. Most acquire remarkable skills in eighteen months with two years if they are concentrated. But do not think it ends there. In hacking (as in many other areas) it takes about ten years to become a teacher. If you are a real hacker, you will learn throughout your life.
E:

Is Visual Basic a Good Language to Start?
A:

If you do this, it means you're trying to try hacking in Microsoft Windows. This is a bad idea. When I liked trying to learn hacking in Windows and trying to learn how to dance while wearing armor, I was talking seriously Do not go there. It's bad, and it does not stop being bad.

There is a specific problem with Visual Basic. It is not portable. Although there are Visual Basic open source implementations, fixed ECMAs cover only a small range of its programming environments. In Windows, most of its help libraries are proprietary to a single vendor (Microsoft). If you are not too careful about what options you use - more careful than any beginner can be - you will end up "locked" into the platforms that Microsoft chooses to support. If you are new to Unix, much better languages ​​with better libraries are available. Python for example.

Also, like the other Basics, Visual Basic is a badly designed language that will teach you bad programming habits. No, do not ask me to describe them in detail. This description would fill a book. Instead, learn a well-designed language.

One of these bad habits is to depend on libraries, the environment, and development tools of a single vendor. Generally, any language not fully supported by Linux or one of the BSDs, and / or at least three different vendor operating systems, is bad for you to learn to hack with it.
E:

Will you help me "break" a system, or do cracking?
A:

No. Anyone who makes such a question after reading this article is too stupid to teach even if I had the time to teach him. Any request of this kind will be sent to me, will be ignored, or will be answered with excessive rudeness.
E:

How can I get someone else's account code?
A:

This is cracking. Get out of here, fool.
E:

How can I enter / read / control someone else's email?
A:

This is cracking. Hush, shit.
E:

How do I steal administrator permissions on IRC?
A:

This is cracking. Disappear, hang on.
E:

They have invaded my system. Will you help me avoid future invasions?
A:

No. Every time I get asked this question, it's from some badass running Microsoft Windows. It is not possible to secure Windows systems against cracking attacks. Code and architecture have a lot which makes trying to secure Windows akin to trying to empty a sinking boat with a spoon. The only reliable solution is to switch to Linux or some other operating system that is at least secure.
E:

I'm having problems with my Windows software. Will you help me;
A:

Yes. Go to a DOS prompt and type "format c:". Whatever problems you have, they will disappear in a few minutes.
E:

Where can I find real hackers to talk to them?
A:

The best way is to find a local Unix or Linux friends club and go to their meetings (you can find links to various lists that contain information about such clubs on the LDP website in ibiblio).

(Old, here I said you can not find real hackers in the IRC, but this is changing temporarily.) Some real hacker communities dealing with issues like GIMP and Perl now have IRC channels.)
E:

Can you recommend good books about hacking?
A:

I keep the Linux Reading List HOWTO that you may find useful. Loginataka may be interesting to you.

For an introduction to Python, see the introductory material on the Python website.
E:

Do I have to be good at math to become a hacker?
A:

No. Hacking requires a few general mathematics and arithmetic. You will not need geometry unless you ever deal with three-dimensional and graphical applications. It's good to know some general Boolean algebra. The basics in binary trees, graph theory and algorithm theory would be useful.

Much more important: You must know to think logically and follow logical chains as mathematicians do. Although most of the math content is not necessary, you need to think properly and organized about mathematics. If you do not have intelligence, there is not much hope of doing it as a hacker. If you do not have an organization, you should develop it.

I think a good way to test your knowledge is to get a copy of Raymond Smullyan's book What Is The Name Of This Book ?. Pleasant, reasonable puzzles of Smullyan are in the spirit of hacking. Being able to solve them is a good indication. To enjoy solving them is even better.
E:

Which language should I first learn?
A:

XHTML (the newest HTML dialect), if you do not already know it. There are a lot of fancy, advertised, bad HTML books, and unfortunately just a little good. What I like most is HTML: The Definitive Guide.

But HTML is not a complete programming language. When you are ready to start programming, I would recommend you to start with Python. You will hear a lot of people recommending Perl, and Perl is more popular than Python, but it's harder to learn and (in my opinion) less well-designed.

C is very important, but it's more difficult than Python and Perl. Do not try to learn it as your first.

Windows users, do not start with Visual Basic. It will teach you bad habits, and it is not transferable outside of Windows. Avoid it.
E:

What hardware do I need?
A:

Previously, personal computers were weak and with little memory, so as to put technical limits on the hacker's learning process. This stopped being valid from the middle of 1990. Every machine from Intel 486DX50 and above is more than powerful for development work, graphical environment and Internet communications. The smaller trays you can buy today are big enough.

The important thing is to choose a machine that is compatible with Linux (or BSD-compliant, if this is your choice). This is true for almost all modern computers. The only area that can cause problems is the modems. Some machines have a Windows-only modem that does not work with Linux.

There is a FAQ about hardware compatibility. The latest version is here.
E:

I want to contribute. Can you help me choose a problem to work on it?
A:

No, because I do not know your talents and interests. You have to urge yourself. When others make your choices instead of you, it almost never succeeds.

Try this. Follow the announcements for the projects in Freshmeat for a few days. When you see someone making you think: “Nice! I would love to work on this! ", Become a member.
E:

Should I hate Microsoft?
A:

No. Not that it's not worth it, but the hacker culture existed long before Microsoft, and will exist long after the end of Microsoft. The energy you would spend on hating Microsoft, it would be better to spend it on loving your art. Write good code - this will prevent Microsoft from spreading without damaging your social image.
E:

But open source software will not leave developers unemployed?
A:

This is not the case. To date, open source software organizations are creating jobs, despite the opposite. Most of the time, you will make money writing a program even if the program is open source. It does not matter how "free" software is written - there is always a need for more, new applications. I have written more about this in the pages of Open Source.
E:

How can I start? Where will I find a free Unix?
A:

If you are looking for a first project, do not ask me. Follow the project announcements and publications at Freshmeat, find one that drives your interest, and become a member.

If you do not have a Unix installed on your computer yet, elsewhere in this article we provide tips on how to get one of the most popular, free Unix. To become a hacker you need motivation and initiative, and the ability to teach yourself. Get started now…

Eric Steven Raymond
Thyrsus Enterprises

Translation from English: Aristotle Mikropoulos amikrop [at] gmail.com

iGuRu.gr The Best Technology Site in Greecefgns

every publication, directly to your inbox

Join the 2.087 registrants.

Written by giorgos

George still wonders what he's doing here ...

Leave a reply

Your email address is not published. Required fields are mentioned with *

Your message will not be published if:
1. Contains insulting, defamatory, racist, offensive or inappropriate comments.
2. Causes harm to minors.
3. It interferes with the privacy and individual and social rights of other users.
4. Advertises products or services or websites.
5. Contains personal information (address, phone, etc.).