1
0

not sure what i'll do with this, pushing the draft

This commit is contained in:
dtb 2021-09-13 09:27:37 -04:00
parent 2042cc8af4
commit 556282ae83

View File

@ -0,0 +1,87 @@
<HEAD>
<STYLE>
h2, h3 { font-family: Helvetica, Univers, sans-serif; }
</STYLE>
</HEAD>
<BODY>
<H2>How to Become A Hacker</H2>
<H3>Deven Trinity Blake</H3>
<P><CODE>&lt;<A HREF="mailto:trinity@trinity.moe">trinity@trinity.moe</A>&gt;</CODE></P>
<P>No Copyright 🄯 2021 Deven T. Blake</P>
<HR />
<!--<P><STRONG>Table of Contents</STRONG></P>-->
<H2>Why This Document?</H2>
<P>
A lot of hackers consider Eric S. Raymond's original <A HREF="http://www.catb.org/~esr/faqs/hacker-howto.html"><I>How to Become A Hacker</I></A> to be definitive, for good reason.
It explains the "hacker philosophy", some key things at which one should be good, and is a good compass that points to What to Learn Next.
I myself stumbled upon the document maybe a decade or so ago, when I was a small impressionable child, and know half of what I do because of where it pointed me.
I think, however, that <I>How to Become A Hacker</I> is a bit dated, so I'm writing this to be a nice complementary piece for those to read <B>after they read esr's original</B>.
</P>
<P>
If you are reading a snapshot of this document offline, the current version lives at <A HREF="http://www.trinity.moe/hacker-howto">http://www.trinity.moe/hacker-howto</A>.
</P>
<H2>Basic Hacking Skills</H2>
<H3>1. Learn how to program</H3>
<P>
Python is an okay first language as long as you don't take it too seriously.
As said by smarter people than me, Python is a glue language.
It's slow and a bit basic, but its errors are often easy to solve, so do as much as you can with Python and Python libraries, and do the rest in faster languages.
</P>
<P>
Never touch Java.
Not even once.
While at one point it was promising, it's become a monstrous beast and it must be slain through attrition.
</P>
<P>
When you are good at programming you will think <I>outside</I> of programming languages.
Programming languages are tools for a job.
Some are better suited to some tasks than others.
For example, I would use C as a language for building utilities for myself, as I want them to be blisteringly fast and I know that's easier to do in C than Python.
I've written utilities in Python to know how I want them to behave, and then perfected them by rewriting them in C.
This being said, when learning a language for the first time, <I>master</I> it, <I>then</I> move on.
</P>
<H3>2. Get one of the open-source Unixes and learn to use and run it.</H3>
<P>
<B>Don't</B> try to program on Microsoft Windows.
Seriously.
This is the one mistake almost all beginners make; they'll install fifty different tools onto their MS Windows system in order to make a simple program that doesn't really work because their tutorial only works for UNIX.
Just install a Free UNIX-clone ("clone" in this context is not a bad thing; most Free UNIX-clones are much more practical in this world than the original) and learn how to work in it.
In fact, you may want to learn <I>shell</I> before anything else.
When you know how to
<OL>
<LI>Make a directory,</LI>
<LI>Make an empty file within that directory,</LI>
<LI>Overwrite the file with exactly 500B of random data,</LI>
<LI>Mark the file as executable,</LI>
<LI>Print the file to the terminal as readable, hexadecimal data,</LI>
<LI>And remove the directory and the file,</LI>
</OL>
you will know enough to start on your journey into hacking.
</P>
<P>
BSDs are awesome and I use a BSD myself, but perhaps start with Linux as there's a much bigger community to help you there.
There are no longer any good non-UNIX operating systems.
The importance of choosing a Free operating system cannot be understated.
It's hard to learn from your OS's code when your OS's code is only readable by those within the corporation that made the OS.
</P>
<P>
Don't use Ubuntu as it suffers from many of the flaws that drive non-hacker Windows users to Linux-based systems.
Instead, try Linux Mint, which is based on Ubuntu but without the more annoying issues.
</P>
<H3>3. Learn how to use the World Wide Web and write HTML.</H3>
<P>
View the source code of the original <I>How to Become A Hacker</I> and then read the source code to this webpage.
</P>
<H3>4. If you don't have functional English, learn it.</H3>
<P>
It's unfortunate that English has become the lingua franca of the Internet.
But it's true, it has, and it's more or less required learning if you want to become a hacker.
</P>
<H3>5. Learn to use a search engine.</H3>
<P>
This is my own tip.
<B>This is the most important thing on this page</B>.
How to accomplish this is an exercise left to the reader.
</P>