The Masterpiece That Changed My Life: 'How to Become a Hacker' That Every Programmer Should Read
Have you ever read the document titled 'How to Become a Hacker'?
Since its first edition was published in 2001, this document has been maintained for about 20 years up to the present day.
I will quote the main points on this page, but since it is available for free, I highly recommend reading the entire text if you have the time.
I have been active as a programmer for over 10 years and have even received awards from the Ministry of Economy, Trade and Industry, but it is no exaggeration to say that this career—no, my life itself—was greatly influenced by 'How to Become a Hacker'.
On this page, I will share specifically which points influenced me and how.
The Encounter
I started teaching myself programming around the second grade of elementary school, relying on information on the internet.
The catalyst for this was a manga called Bloody Monday.
The story follows a student protagonist who is a white hat (a righteous hacker) fighting against a terrorist organization that employs black hats (malicious crackers).
Honestly, I didn't really understand the content at the time, but the protagonist just looked cool.
Escaping from pursuers by clacking away at a PC to forcibly lock/unlock electronic locks
Spying on security cameras remotely
Causing a nuclear power plant to melt down remotely
etc...
Regardless, it was cool enough for a second-grader to admire.
That is why it was, in a sense, inevitable that I would search for 'how to become a hacker' after finishing it.
From that time until now, I have reread this document many times whenever the opportunity arises.
Points That Left an Impression
Point 1. Hackers and Crackers are Different
There is another group of people who loudly call themselves hackers, but they are not hackers. These are people (mostly teenage boys) who break into computers or engage in phone phreaking. Real hackers call these people 'crackers' and want nothing to do with them. (Omitted)
The basic difference is this: hackers build things. Crackers break them.
This is a fundamental premise for anyone aiming to become a hacker.
Hackersbuild things and do not break them.
Attacking a nuclear power plant to cause a meltdown is the work of a detestable cracker, and crackers are not hackers.
From the moment I first read this sentence, I stopped feeling any coolness toward cracker-like behavior, such as stealing other people's passwords.
If I hadn't read this, I might have ended up as a shitty script kiddie.
Unfortunately, many journalists and writers have been deceived and continue to use the word 'hacker' to write about crackers. True hackers find this extremely unpleasant.
More than 20 years have passed since this article was written, but I feel that the media still continues to use the word 'hacker' for crackers.
For me, this is also extremely infuriating.
Point 2. Find Joy in Problem Solving
Being a hacker is a lot of fun, but it requires a lot of effort. To put in that effort, you need motivation. Great athletes get their motivation from the physical pleasure of pushing their bodies beyond their limits. Similarly, to become a hacker, you must be able to feel a thrilling joy in honing your skills, training your intellect, and solving problems.
If you are not born feeling this way, you must first become that kind of person to become a hacker. Otherwise, your motivation for hacking will be distracted by trivial things like sex, money, or social status.
I think it was extremely significant that I was able to read this text while I was in elementary school.
In particular, 'training your intellect' is important.
If I hadn't remembered these words, I probably wouldn't have spent my elementary school days spending hours on difficult math problems.
The latter half might have been a bit stimulating for lower grade students.
(Also, cultivate trust in your own learning ability. Even if you don't know everything you need to solve a big problem at this stage, believe that if you start with just a small part of the problem, learn new things from it, learn enough to solve the next part, and keep going, you will eventually be able to solve the entire big problem.)
This is not the kind of content that should be written in parentheses!!!!!!!!!!!!!!!
Please make it stand out more with extra bold and italics.
Really.
'If you have your own brain and time, you can solve any problem in the world.'
I believe that having this confidence is more important than anything else, and that this confidence is the secret to exponentially increasing the efficiency of learning everything.
Point 3. Freedom is Good
Hackers are inherently anti-authoritarian. Anyone who can give you orders can stop you from solving a problem you are interested in—and, as is typical of authoritarian minds, the reasons they give for stopping you are usually ridiculously trivial. Therefore, when you encounter an authoritarian attitude, you must fight it. Otherwise, you and other hackers will be suffocated.
When it comes to creating software, authority is unnecessary.
Large factories, expensive equipment, and numerous stakeholders are not inherently essential for creating software.
Even if you think these are essential, that will surely be overturned by someone's problem-solving.
In fact, didn't Linus write the first version of Linux (Linus's Minix) by himself?
If authority is unnecessary, there is no need to fawn over it.
Authoritarians who try to protect vested interests will always come to interfere with the paradigm shift caused by software.
Crush them before they interfere.
(I got a little extreme. Excuse me.)
Authoritarians love censorship and secrecy. Furthermore, they do not trust voluntary cooperation or information sharing. They only like the 'cooperation' they can control. Therefore, to act like a hacker, you must feel an instinctive hostility toward censorship, secrecy, and the use of pressure or deception to force responsible adults to do things. And you must be prepared to put this belief into action.
It is my theory that you can measure your aptitude as a hacker by your reaction to unreasonable oppression.
If you just let yourself be pushed around, you are disqualified as a hacker.
If you don't show your hostility and stage an uprising, you will end up having your potential as a hacker crushed.
By the way, when I was in elementary school, I used various techniques to bypass the filtering set by my parents.
(Is this cracking? Well, let's call it self-defense against oppression.)
Point 4. Learn English
I am an American myself and English is my native language, so I was not very enthusiastic about mentioning this. I was worried that saying this would make me look like a cultural imperialist. However, several people whose native language is not English pointed out to me that English is the working language of hacker culture and the Internet, and that you cannot be useful in the hacker community without knowing English.
At the very least, reading ability is absolutely essential.
Depending on the environment, it is common to only be able to output ASCII characters, and manuals for niche libraries are almost always in English.
The content on Stack Overflow is also mostly in English.
Linus Torvalds, a Finn, writes the comments in the code he writes in English (it seems he has never even considered writing them in anything other than English). His fluent English was a very important factor in recruiting a global community of Linux developers. This is a precedent worth following.
It is better to write comments in English as well.
It is not about trying to look cool; there is meaning in recording your thoughts in the language with the most speakers.
It is irrational for an American to spend three hours solving a problem that a Japanese person already spent three hours solving.
In my case, I think I naturally acquired English while scouring the internet to fix bugs.
Point 5. Learn to write your native language properly
Learn to write proper sentences in your native language (an astonishing number of hackers, including the best ones I know, are also competent writers).
(Omitted)
Deepen your understanding of puns and wordplay.
Someone who cannot even write their native language properly cannot possibly write decent programs.
If you cannot write in your native language using correct grammar and vocabulary that conveys your meaning to others, the programs you write will surely be terrible.
After reading this part when I was in elementary school, I started paying attention in Japanese class.
I still remember the verb conjugations like 'karo-kaku-ku-ii-kere' I learned in junior high.
daro-dat-de-ni-da-na-nara...
Summary
Above, I introduced the following five points from "How to Become a Hacker" that left the biggest impression on me.
Hackers and crackers are different. Do not become a cracker
Find joy in problem-solving. Have confidence in your ability to learn
Freedom is good. Do not yield to unreasonable oppression
Learn to read and write English
Learn to write your native language properly
"How to Become a Hacker" is a document that anyone who wants to become a hacker must read.
Not only that, but it might also have a positive influence if shown to children around elementary school age, like I was back then.
Thank you for reading!
I will continue to share useful knowledge and experiences like this,
so please be sure to follow me!
いいなと思ったら応援しよう!
読んでくださりありがとうございます。
スキ・フォロー・チップを頂けると非常にありがたいです。
あなたの人生を少しでも変えられるような内容を発信していく所存です。