Preface:

This is a very popular article on how to become a hacker, although some of the techniques mentioned in it may be a little outdated, but in terms of learning methods and ideas, it is still worth sharing with you.

Pay attention to the words and deeds of the master, follow the actions of the master, practice with the master, understand the artistic conception of the master, and become a true master.

What is a hacker?

This goes back decades, to when the first generation of time-sharing microcomputers were born and ARPAnet experiments were just beginning. The term “hacker” was coined by members of a shared cultural community of programmers and networking gurus. Hackers built the Internet, hackers made the Unix operating system what it is, hackers ran Usenet, hackers made the World Wide Web work. If you’re part of the culture, if you contribute to the culture, and other members of the community know you and call you a hacker, then you’re a hacker.

The hacker mindset is not confined to the software hacker culture. There are also hacktivist attitudes to other things, such as electronics and music — in fact, you can find it at the highest levels of science and art. Software hackers respect practitioners of these fields and refer to them as hackers – some claim that hackers by nature are absolutely independent of the particular field in which they work. But in this document, we will focus on the techniques and attitudes of software hackers and the shared cultural traditions that coined the word “hacker.”

There’s another group of people who claim they’re hackers, but they’re not. Made up mainly of teenage males, they are the ones who sabotage computer and telephone systems. Real hackers call these people “crackers” and don’t bother with them. Hackers tend to think of themselves as lazy, irresponsible and not very smart. Just because you can start a car by wiring it to a superheater doesn’t mean you’re an automotive engineer. In the same way, breaking security doesn’t mean you’re a hacker. Unfortunately, many journalists and writers often mistake “hacker” for hacker. This practice has long rankled real hackers.

The fundamental difference is that hackers build and hackers destroy.

If you want to be a hacker, read on. If you want to be a hacker, read the Alt.2600 newsgroup and get ready to go to jail for five to ten years and eventually realize you’re not as smart as you thought.

That’s all I can say about hackers.

Hacker’s Attitude

The world is full of fascinating problems to solve. A problem should not be solved twice. Boring and tedious work is a sin. Advocate freedom. Attitude is no substitute for ability.

Hackers solve problems and build things, but they also believe in freedom and selfless mutual help. To be accepted as a hacker, you need to demonstrate that you already have this attitude. And to do that, you have to really believe in it and agree with it.

But if you think that cultivating a hacker attitude is just a stepping stone into the hacker culture, think again. This attitude is crucial because it will help you learn and provide you with constant motivation. As with all creative art, the most effective way to become a master is to imitate the master’s spirit — not just intellectually, but emotionally.

Or as this modern zen poem puts it:

The way of Practice:

Pay attention to the words and deeds of the master, follow the actions of the master, practice with the master, understand the artistic conception of the master, and become a true master.

So if you want to be a hacker, read these things over and over until you believe them:

1. The world is full of fascinating problems to solve.

Being a hacker can be a lot of fun, but it takes a lot of hard work to get it. These efforts require momentum. Successful athletes derive physical pleasure from performing and pushing their limits, and use that pleasure as motivation. Similarly, in order to become a hacker, you need to get basic enjoyment from solving problems, honing your skills, and exercising your intelligence.

If it’s not your nature, and you want to be a hacker, you have to become one. Otherwise, you may find that your hacker passion is swallowed up by other distractions — money, sex, social recognition.

(You must develop a belief in your ability to learn — that even if you don’t know enough to solve the problem at hand, if you start with one small piece of the problem and learn from it, you will learn enough to solve the next piece — and so on until the whole problem is solved.)

2. A problem should never be solved twice.

An innovative brain is a valuable and limited resource. When the world is full of so many interesting new problems to solve, they should not be wasted on reinventing the wheel.

As a hacker, you have to develop these attitudes. But these attitudes alone don’t make you a hacker. They don’t make you an athlete and a rock star. Being a hacker takes intelligence, practice, dedication, and hard work.

Therefore, you must learn to ignore attitude issues and respect all kinds of abilities. Hackers don’t waste time with pretenders, but they have a lot of respect for competence — especially competence at hacking (though competence is always a good thing). It’s even better if you have skills that few people have, and it’s even better if you have skills that are in high demand and require a sharp mind, great skill, and focus.

If you respect competence, you will enjoy improving yourself — hard work and dedication will not be drudgery, but intense entertainment, which is a crucial part of being a hacker.

Basic hacker skills

Learn how to program. Learn to use open source Unix systems. Learn how to use the World Wide Web and write HTML. Learn English, if your level is not enough.

Hacker attitude is important, but technology is more important. Attitude is no substitute for skill. Before you can be called a hacker by another hacker, you must master some basic skills as a tool to carry around with you.

The contents of the toolkit are constantly changing as new technologies emerge and old ones become obsolete. For example, machine language programming used to be included, while HTML was not included until recently. But now it’s clear that it contains the following:

Learn how to program.

This one needless to say, of course, is the most basic hacker skills. If you don’t already know any programming languages, I suggest you start with Python. It is clearly designed, well documented, and beginner friendly. While it works well as a starting language, it’s more than just a toy; It is very powerful, flexible and suitable for large projects. I have covered this in more detail in the Evaluation of Python article. The Python site has a good introductory tutorial.

I have recommended Java as a starting Language, but this criticism has changed my mind (do a take-aways search for “The Java as a First Programming Language” to see what I mean). As a hacker, you can’t, as people wryly say, “build a computer like a plumber.” You have to know how the parts work. Now I think it’s probably better to learn Java after C and Lisp.

The general rule is that if you place too much emphasis on using a language, it can be both a handy tool and a hindrance to your learning. It’s not just programming languages that have this problem. Web application frameworks like RubyOnRails, CakePHP, and Django also have this problem. They give you a superficial understanding, and when you run into problems that are hard to solve or need to debug, you can get overwhelmed.

If you want to get into the formal programming world, you will have to learn C, the core language of Unix. C++ is very similar to C; If you know one, it shouldn’t be hard to learn the other. But neither is suitable for beginners to programming. And in fact, the more you avoid programming in C, the more productive you’ll be.

The C language is extremely efficient and consumes few system resources. Unfortunately, the efficiency of C is achieved by doing a lot of low-level management (such as memory management) manually. The underlying code is complex and buggy, and you spend a lot of time debugging it. Today’s computers are so fast that time spent debugging programs is often not worth it — it’s better to use a slower, less efficient language that saves you a lot of development time. So, stick with Python.

Other languages important to hackers include Perl and LISP. From a practical standpoint, Perl is worth learning; It is widely used in dynamic web pages and systems administration, so if you never write in Perl, you should at least learn to read it. Many people use Perl for the same reason I recommend you use Python: to avoid doing things in C that don’t require C to be efficient. You’ll need to understand the working code.

LISP is worth learning for different reasons — you’ll be enlightened and experienced when you finally master it. Although you’ll rarely actually use LISP, the experience will make you a better programmer in the future.

Of course, you should actually know all five (Python, Java, C/C++, Perl, and LISP). In addition to being the most important hacker languages, they represent distinct approaches to programming, each of which will benefit you immensely. (You can do this by changing the mode of the Emacs editor.)

Learning a programming language alone won’t get you to the level of a hacker, or even a programmer — you need to break away from the language and learn how to solve problems programmatically. To be a real hacker, you need to be able to learn a programming language in a matter of days. You can combine the information in the documentation with what you already know and learn a programming language in no time. This means you need to learn to speak a language with a completely different way of thinking.

Programming is a complex skill, and I can’t give you a complete guide to how to program it, but I can tell you that books and courses can’t teach you how to program either — many hackers, or perhaps almost all hackers, are self-taught. You learn the characteristics of language from books — just the surface, but to make written knowledge your own skill, you can only learn from others through practice and humility. So all you have to do is (a) read the code and (b) write the code.

Peter Novig is one of Google’s top hackers and the author of one of the most popular AI textbooks. He has written a great article called Teach Yourself Programming in Ten Years, and its recipe for Programming Success is especially worth reading.

Learning to program is like learning to write in a natural language. The best thing to do is read some great books and try to write something for yourself, read some more, write some more, read some more, write some more… Repeat until your essay has the force and feel of an example.

It used to be hard to find good code to read, because there were few large programs with source code for beginners to practice. That has changed dramatically; Open source software, programming tools, and operating systems (all written by hackers) are now ubiquitous. Let’s continue this discussion on the next topic…

2. Learn to use the open source Unix system.

I’m going to assume that you already have a personal computer for your own use (you can get an idea of how much that means. In the early days, computers were so expensive that no one could afford them. And hacker culture evolved in that environment). The most basic step beginners can take toward learning hacking skills is to find a version of Linux or BSD-UNIX, install it on a PC, and run it.

Yes, there are other operating systems besides Unix. But they’re all distributed in binary form — you can’t read its source code, and you can’t modify it. Trying to learn hacking on a machine running DOS, Windows, or MacOS is like learning to dance in knight’s armor.

In addition, Unix is the operating system for the Internet. You can learn to surf the Internet without knowing Unix, but you can’t be an Internet hacker without knowing Unix. As a result, today’s hacker culture is largely unix-centric. (This wasn’t always true, and some early hackers have long resented it, but the connection between Unix and the Internet is so strong that even powerful companies like Microsoft can’t help it.)

So, get a Unix – I personally prefer Linux, but there are other options (yes, you can have Both Linux and DOS/Windows on the same computer). Learn it, run it, tinker with it. Use it to access the Internet. Read its source code. Modify its source code. You’ll use a lot of great programming tools (including C, LISP, Python, and Perl) that you can’t even dream of on Windows. You’ll have a lot of fun. When you become a master one day and look back on your early days, you’ll think you learned a lot.

If you want to learn more about learning Unix, read The Loginataka. You may also want to check out The Art of Unix Programming.

You can visit Linux Online! Website, this website can help you get started. You can download Linux from there, or better yet, find a local Linux user group and have them install Linux for you.

For the first decade after this HOWTO document was published, I wrote about Linux that all Linux distributions were similar from a rookie’s point of view, but in 2006-2007 we finally had a sweet spot: Ubuntu. We can say that Linux distributions have their strengths and weaknesses, but Ubuntu is the easiest one for newcomers to get started.

You can find BSD Unix help and other resources at www.bsd.org.

Linux has a distribution called a Live CD, which runs from a CD and doesn’t touch anything on your hard drive, and a Live CD is a great way to try Linux. Since CD drives are inherently slow to read and write, Live CDS tend to be slow, but Live CDS are always a way to experiment with possibilities without overdoing it.

I have written an introductory article on Unix and Internet fundamentals.

For starters, I used to discourage you from installing Linux or BSD on your own, but now the tools are good enough that it’s not impossible to install an operating system on your own, even for novices. However, I recommend contacting your local Linux user group and asking for help to make the process much smoother.

3. Learn to use the World Wide Web and write HTML.

Most of what hacker culture builds works where you can’t see it. Western Zhejiang things can help keep factories, offices and universities running, but it’s hard to see their impact on the lives of ordinary people who aren’t hackers. The Web is a big exception. Even politicians agree that this big, shiny hacker toy is changing the world. If only for this (and many other reasons), the Web is worth learning.

This doesn’t just mean how to use a browser (anyone can do that), but how to write HTML, the Web’s markup language. If you can’t program, writing HTML will teach you some thinking habits that will help you learn. So, start with a home page. (There are plenty of great resources online, like this HTML primer.)

But just having a home page doesn’t make you a hacker. The Web is full of pages. Most of it is meaningless, uninformative junk — interface funky junk, but still junk (for more on this, visit The HTML Hell Page).

To be valuable, your page must have content – it must be interesting or helpful to other hackers. This is where the next topic comes in…

4. Learn English if your level is inadequate.

As an American native speaker, I used to be reluctant to mention this, lest it be seen as cultural imperialism. But quite a few native speakers of other languages have been urging me to point out this: English is the working language of hacker culture and the Internet, and knowing English is the only way you can do well in the hacker community.

Around 1991, I learned that many hackers were using English in technical discussions, even when they were from the same mother tongue. At the moment, English has a much richer technical vocabulary than any other language, so it is quite a good tool for working. For similar reasons, English technical books are often poorly translated. (if there is a translator).

Linus Torvalds is Finnish, but his code comments are written in English (he obviously never thought otherwise). He is fluent in English. Is an important factor in his ability to manage the worldwide Linux developer community. This is an example worth learning.

Even if you’re a native English speaker, there’s no guarantee that your language skills are good enough to qualify as a hacker. Most hackers, including me, will ignore you if your writing is incoherent, grammatically incorrect, or full of typos. While sloppy writing doesn’t necessarily mean sloppy thinking, we found a strong correlation — a sloppy mind is worth nothing to us, and if you can’t write, learn to write.

Raise your profile in the hacker community

Write open source software to help test and debug open source software and release useful information to help maintain the infrastructure running for the hacker culture itself

Like most cultures that don’t involve money, the hacker kingdom runs on reputation. You try to solve interesting problems, but how interesting they are, and how good you are at solving them, is for people with your level of skill, or better, to judge.

In turn, you need to realize that when you’re playing hacker games, your score is mainly based on what other hackers say about your skills (which is why you’re only a hacker if other hackers call you a hacker). In the general impression that hacking is a solitary work, the above evaluation method is not widely known. Another hacker culture myth, which has declined since the late 1990s but is still held today, is the refusal to acknowledge self or external evaluation as a motivator. This is one of the reasons why the above evaluation method is not known.

Specifically, hacking is what anthropologists call a “culture of giving.” Here you do not build status and fame by dominating others, or by being beautiful, or by having what others want, but by contributing. In particular, donate your time, your creations, and your technical achievements.

Here are five things you can do to gain the respect of other hackers:

Write open source software

The first (and most important, traditional) approach is to write programs that other hackers find interesting or useful, and make the source code available to the entire hacker culture.

We used to call it “free software,” but this confused many people who didn’t know exactly what free meant. Many of us now use the term “open-source software”, at least two-thirds of us, according to search engine web content analysis.

The most revered ICONS in hacking are the people who write big, useful, versatile software and distribute it so that everyone uses it.

But there is a historical point worth mentioning. Although hackers have long considered open source software developers to be real hackers, until the mid-1990s most hackers spent most of their time writing closed-source software, as they did when I started writing this HOWTO article in 1996. But since 1997 open source software has entered the mainstream and changed all that. The term “hacker community” and “open source developer” are now used to describe the community, but it’s worth remembering that the two concepts were not exactly the same. For more information, check out this section on the history of hacking, open source, and free software.

2. Help test and debug open source software

Hackers also respect those who use and test open source software. The world is not perfect, and we inevitably spend most of our development time debugging. That’s why any open-minded open-source author will tell you that good beta testers are like rubies. Good testers know how to clearly describe the symptoms of errors, are good at locating errors, tolerate bugs in quick releases, and are willing to do routine diagnostic work. A good tester can turn a long, grueling debugging battle into a healthy one.

If you’re new, try to find a program in development that interests you and be a good beta tester. You will naturally progress from helping with testing, to helping with bug catching, to helping with program changes. You’ll learn a lot, and good causes will beget good results, and people will be more than happy to help you in the future.

3. Post useful information

Another good thing is to gather useful and interesting information and make it available on a web page or faQ-like document.

Maintainers of technical FAQs are respected as much as authors of open source code.

4. Help keep the infrastructure running

Hacker culture (and the development of Internet engineering) is driven by volunteers. For the Internet to work properly, a lot of boring work has to be done – managing mailing lists and newsgroups, maintaining large software libraries, developing RFCS and other technical standards, and so on.

People who do this kind of thing get a lot of respect because everyone knows it takes a lot of time and it’s not as fun as programming. It takes dedication to do these things.

5. Serve the hacker culture itself

Finally, you can promote the culture itself (like I did, writing a tutorial on “How to be a hacker” :-)) and this doesn’t have to be done after you’ve been around for a long time, become famous for one of the above four points, or have a reputation.

There are no leaders in the hacker culture, that’s for sure. But there are cultural heroes, tribal elders, historians, and spokespeople in the hacking community. If you stay in this circle long enough, you might be one of them. Remember: hackers don’t believe the boast of their tribal elders, so it’s dangerous to overdo it. Rather than strive for it, take your place and let it fall into your hands — humble and graceful then.

The hacker/Nerd connection

Contrary to popular belief, you don’t have to be a nerd to be a hacker. But it does help, and many hackers are actually nerds. Being a recluse helps you focus on the really important things like thinking and programming.

As a result, many hackers have adopted the label “geek” as a badge of pride — a way of declaring their independence from mainstream social expectations (and a fondness for science fiction and strategy games, which many hackers love). In the 1990s it was more commonly referred to as a nerd, when it was only mildly derogatory and geek was a full-on slur, but since 2000 the two have shifted, at least in American popular culture. Now, even among non-technical people, there are cultural groups that pride themselves on being geeky.

If you can focus enough on being a hacker and still have a normal life, that’s a good thing. It’s easier to do this now than it was when I was a novice in the 1970s; Mainstream culture is much kinder to geeks these days. There is even a growing awareness that hackers are often good material for lovers and spouses.

If you’re hooked on hacking because your life isn’t working out, that’s fine — at least you won’t be distracted. Maybe you’ll find your own life later

Go hacker style

Again, to be a hacker, you have to go deep into the hacker spirit. Computing While you’re away from your computer, there’s still a lot you can do to help with hacker work. They are not a substitute for real programming (there is no substitute for programming), but many hackers do it and feel some fundamental connection to the nature of hacking.

Learn to write fluently in your native language. Although many people think programmers can’t write well, there are a significant number of hackers (including all the best hackers I know) who are capable writers. Read science fiction. Attend a science fiction seminar. (This is a great way to meet hackers and would-be hackers.) Learn a martial art. The mental discipline required in martial arts is very similar to that required by hackers. The most popular martial arts in Black Zhong are Asian hand-to-hand combat martial arts such as taekwondo, karate, martial arts, aikido, jujitsu, etc. Western fencing and Asian fencing also have many followers. Since the late 1990s, shooting has become more popular in places where guns are legal. Most hacker types of martial arts are those that emphasize mental discipline, relaxed consciousness, and mental control over pure strength, athleticism, and physical strength. Actually learn a meditation practice. For years the most popular form of hacking has been zen meditation. (It is important to note that meditation and religion are separate. You do not need to adopt a new religion or abandon an existing one to practice meditation. Other forms of meditation may work as well, but be sure to practice meditation that is solid and doesn’t require you to believe in the unthinkable. Develop your appreciation for puns and wordplay. If you already do a lot of these things, you may be natural hacker material. It’s not entirely clear why these things happen, but they all involve a combination of left-right brain skills, and that seems to be the point (hackers need both clear logical thinking and sometimes a departure from that logic to the surface of the problem).

Finally, there are some things not to do.

Don’t use silly, sensationalist ids or nicknames.

Don’t get involved in a war of words on Usenet (or anywhere else).

Don’t call yourself a cyberpunk and don’t waste your time dealing with them.

Don’t fill your emails or posts with misspellings and grammar.

The above will only invite ridicule. Hackers have amazing memories — it will take years for them to forget your mistakes.

The problem of screen names is worth pondering. Hiding one’s identity behind a false name is the childish folly of hackers, software crackers, and other lesser beings. Hackers don’t do these things; They are proud of what they do and are happy to have it associated with their real names. So if you’re still using a pseudonym, give it up. A pseudonym is a sign of failure in hacker culture.

History of hacking, open source, and free software

The hacker spirit and society I’m describing here predates the advent of Linux in 1990, my first foray into hacking was in 1976, and its roots can be traced back to the early 1960s. But before Linux, most hackers used operating systems that were either proprietary commercial versions or ones they had developed themselves (such as MIT’s ITS system) that were not widely used. There were attempts to change that, but their efforts were limited to a few loyal users in a hacker community.

“Open source” is now almost as old as the hacker community, but until 1985 it was a habit with no fixed name, rather than a self-conscious movement backed by theory and fronted by manifesto. That ended in 1985 when veteran hacker Richard Stallman (also known as “RMS”) named it “Free Software.” It’s also a way of making a statement, but most of the hacker community doesn’t accept labels that are explicitly ideological. So most of the existing hacker community has never embraced it. As a result, the “free software” label was rejected by a vocal minority in the hacker community (particularly those associated with BSD Unix), and the majority of the rest (including me) stuck with it despite their reservations.

Despite many reservations, THE RMS banner of “free software” continued until the mid-1990s. It was not seriously challenged until the rise of Liunx. Linux gave open source developers a new natural home, and many projects have been ported from Unix to Linux in what we now call open source. The Linux community has exploded into a much larger and more heterogeneous community than the previous hacker culture. RMS tried to incorporate this community under its umbrella of the free software Movement, but it didn’t succeed because of the nature of the Linux community and the skepticism of Linus Torvalds himself. Torvalds publicly rejected RMS’s ideas of free software, but stuck with the term “free software”, which inspired many young hackers to follow suit.

When I first published this HOWTO, the hacker community was rapidly reorganizing around Linux and several other open source operating systems, especially those derived from BSD Unix. Decades of closed source development around closed source systems have not yet begun to fade from the collective memory, but it seems like dead history to everyone. More and more hackers are starting to recognize their contributions to open source projects (Linux, Apache, etc.) as accomplishments.

At the time, however, the term “open source” did not exist. The term didn’t appear until early 1998, and within six months of its emergence, most of the hacker community had adopted it, with only a few who didn’t still use the term “free software.” Since 1998, or more accurately 2003, the meaning of “hacking” and “open source (free) software development” has come very close. From today’s point of view, this distinction is meaningless, and trends suggest that the status quo is unlikely to change much in the future.

In any case, is this history of change worth remembering

FAQ

How do you know you’re a good hacker?

Here are three questions you can ask yourself:

Can you read and write code fluently? Do you agree with the purpose and values of the hacker community? Do any senior members of the hacker community call you a hacker?

If you answered “yes” to all three questions, you are already a hacker. If you only meet two of these criteria, you are not qualified.

The first question is about skills. If you’ve met the minimum requirements mentioned earlier in this article, you’re still good, but if you’ve released a fair amount of open source code and it’s accepted by the community, you’re good.

The second question is about attitude. If the five basic principles of hacker spirit resonate with you and are already your way of doing things, you’re halfway there. This is the inside half, and the outside half depends on your involvement and involvement in long-term projects in the hacker community.

Here is an incomplete list of projects for your reference: Are improvements to Linux and the expansion of your user base important to you? Are you passionate about the free software spirit? Are you hostile to monopolies? Do you believe that computers are a tool that will increase the wealth of the world and make it more humane?

It’s worth noting, however, that the hacker community has some peculiar political leanings, two of which are defending the right to free speech and defending against the encroachment of so-called “intellectual property” on the open source community. Private organizations, such as the Electronic Frontier Foundation, do both. Nonetheless, hackers are wary of groups with any clear political agenda, as we have learned from experience that such activities only divide the hacker community and distract hackers. If someone is organising a march on the capital in the name of the hacker spirit, they are missing the point entirely. The real response might have been “shut up and show them the code.”

The third problem smacks of circular recursion. As I mentioned in the “What is a Hacker?” section, the meaning of being a hacker is to participate in a hacker community, a subculture of social networks, and to be active both internally as contributing members and externally as propagandists. The hacker community is much more united and self-conscious now than it was a long time ago. Over the past three decades, as the Internet has evolved and social networks have become more important, hacker subcultures have become easier to develop and maintain. One obvious sign of this change is that some hacker communities now have their own t-shirts.

Sociologists who study social networks refer to hacker culture as an “invisible university,” and note that these online social circles also have so-called gatekeepers — core members who have a degree of authority and can admit new members. The so-called “invisible university” is a loose informal organization, so these “gatekeepers” are just that. But not every hacker is a gatekeeper, and this is something every hacker knows all too well. Gatekeepers need to have a certain level of seniority and achievement, which is hard to say, but every hacker will recognize them when they appear.

Can you teach me how to hack?

Since I first published this document, I’ve been getting requests every week (often several a day) to “teach them how to hack.” Unfortunately, I don’t have the time or energy to do this; My own hacking projects, and my travels as an open source advocate, have taken up 110% of my time.

Even if I wanted to teach you, hacking is still largely a self-taught attitude and technique. When real hackers want to help you, they won’t respect you if you beg them to “feed” you with spoonfuls.

Learn something first. Show that you’re trying and that you can learn on your own. Then turn to your hacker for a specific question.

If you’re e-mailing a hacker for help, these are the first two things to remember. First, people who write lazily and carelessly are usually too lazy to think and too sloppy to be good hackers — so spell correctly and use correct grammar and pronunciation, or you may fall on deaf ears. Second, don’t try to request a reply to an ISP account that is different from your mailing address. People who do this are usually using stolen accounts, and we’re not interested in rewarding or helping the thieves.

So, how do I get started?

The best way for you to get started might be to go to a LUG (Linux user group) meeting. You can find similar organizations on LDP’s comprehensive Linux information page; There may be one near your home, and it’s likely to be linked to a university or school. If you ask, a LUG member will probably give you a Linux package, and of course will help you install it and get you started.

When do I have to start? Is it too late for that? It’s a good time when you’re motivated to learn. Most people seem to get interested between the ages of 15 and 20, but as far as I know there are exceptions outside that age range.

How long does it take to learn how to hack?

It depends how smart you are and how hard you work. For most people, a respectable set of skills can be learned in 18 months to two years with enough focus. But don’t think that’s enough; If you’re a real hacker, you’ll spend the rest of your life learning and perfecting your skills.

Is Visual Basic a good language to start with?

Since you’re asking this question, you’re probably trying to learn hacking skills under Microsoft Windows. That in itself is not a good idea. I said before that hacking on Windows is like dancing in knight armor, and I’m not kidding. Don’t go that route, Windows is a shitty hack and always has been.

Visual Basic has a characteristic problem that it cannot be ported to other platforms. There are prototype open source implementations of Visual Basic, but only a small subset of the ECMA standard is implemented. Most of the intellectual property of libraries under Windows is exclusively owned by Microsoft, and if you are not very careful, your code will only work on Microsoft-supported platforms. If you’re not going to start with Unix, there are better languages to choose from, with better quality libraries, such as Python

Like other Basic-like languages, Visual Basic is poorly designed and teaches you bad habits. Don’t ask me for details. It’s too many things to record. Learn a well-designed language instead.

One bad habit is to rely on libraries, controls, and development tools from a single vendor. In general, any language that does not support at least Linux or one BSD, or at least three operating systems, is a bad language for hackers to work with.

Can you hack a site for me? Or teach me how to hack it?

No. Anyone who asks this question after reading this FAQ is an irredeemable fool that I would ignore even if I had time to instruct. Any such e-mails sent to me were ignored or lambasted.

How can I get the password of someone else’s account?

This is hacking. Get the hell out of here, you idiot.

How do I hack/view/monitor someone else’s Email?

This is hacking. Disappear in front of me, you moron.

How can I steal channel OP privileges in IRC chat rooms?

This is hacking. Get out of here, idiot.

I’ve been hacked. Can you help me avoid future attacks?

I can’t. So far, every time I’ve been asked this question, I’ve been asked by newbies running Microsoft Windows. It is impossible to effectively protect Windows system from hacker attacks; Too many code and architectural flaws make efforts to protect Windows irrelevant. The only reliable prevention comes from moving to Linux or another system designed to be at least secure enough.

I’m having a problem with my Windows software. Can you help me?

Of course. Open the DOS command line and enter format c:. Any problems you have will disappear in a matter of minutes.

Where can I find a real hacker to talk to?

Your best bet is to find a Unix or Linux user group near you and attend their get-togethers. (You can find links to some user groups on iBiblio’s LDP site.)

(I’ve said in the past that you can’t find real hackers on IRC, but I see things changing now. Apparently some real hacker communities like GIMP and Perl have IRC channels as well.

Can you recommend some good books about hackers?

I maintain a Linux Reading List HOWTO that you might find useful. The Loginataka is also roughly worth a read.

For an introduction to Python, visit the Python Primer I’ve put together.

Do I need to be good at math to be a hacker?

Don’t have to. Hackers rarely use regular math or arithmetic, but you definitely need to be able to think logically and reason with precision. In particular, you won’t use calculus or circuit analysis (we’ll leave that to the electronics engineers :-). Some background in finite mathematics (including Boolean algebra, set theory, combinatorics, graph theory) will help.

More important: You need to be able to think logically and trace cause and effect in a mathematician’s way. While most math may not be of any use to you, the ability to think mathematically is extremely important to you. If you lack the intelligence in this area, it is probably hopeless to be a hacker. If you lack training, start early.

Which linguistics should I start with?

If you haven’t already learned XHTML, the latest form of HTML, start with it. There are tons of well-covered, well-advertised HTML books out there, but unfortunately very few of them are good. My favorite is HTML: The Definitive Guide.

But HTML is not a complete programming language. When you’re ready to start programming, I recommend starting with Python. You’ll hear a lot of people recommending Perl, but Perl is much harder to learn and (in my opinion) not very well designed.

C is important, but it’s also a lot harder than Python or Perl. Don’t try to learn C first.

Note to Windows users: Don’t settle for Visual Basic. It teaches you bad habits, and it’s not portable across platforms, it only runs on Windows. So it’s best to stay away.

What machine configuration do I need?

In the past, personal computers were fairly weak and had little memory, which created artificial barriers to the hacker’s learning process. But not since the mid-1990s; Any machine with an Intel 486DX50 or more configuration is capable of doing development work, running X systems, and communicating over the Internet. And the smallest hard drives you can buy are big enough for you to use.

When choosing a machine to study on, it’s important to note whether the accessory is Linux compatible (or BSD compatible, if you choose BSD). As mentioned earlier, most modern machines fit the bill; The only notable areas are modems and printers; Some machines with accessories designed for Windows won’t work under Linux.

You can check out the Linux Hardware Compatibility FAQ.

I want to contribute to the community. Can you help me pick a problem to attack?

No, because I don’t know what your interests and areas of expertise are. If you don’t have internal motivation, it’s hard to keep going, so the path that someone else just gives you won’t work.

Try this. Check out the Freshmeat website for a couple of days, check out the project updates, and if you see a project that looks cool and interests you, jump in.

I have to hate and object to itMicrosoft?

No, you don’t have to. Not because Microsoft isn’t annoying, but because hacker culture existed long before Microsoft existed and will exist long after Microsoft is history. Whatever energy you spend hating Microsoft is better spent loving your technology. Well-written code – that can be quite effective in hitting Microsoft without getting you back in the cold.

Won’t open source software cost programmers their jobs?

That seems unlikely at the moment. The open source software industry seems to be creating more jobs than it is losing. If writing a program is a net economic gain compared to not writing it, then the programmer should be paid when it’s done regardless of whether the program is open source. And no matter how “free and free” software is written, there will always be more demand for new, customized software. I have more on this in the source code resources section.

How do I get started? Where can I get Unix for free?

Somewhere in this document I’ve mentioned where to get the most commonly used free Unix. To be a hacker, you need to find your own motivation and motivation, as well as the ability to teach yourself. Start now…

Hd Learning Roadmap

[Hacker kit] Data collection