not sure what i'll do with this, pushing the draft
This commit is contained in:
parent
2042cc8af4
commit
556282ae83
87
homepage/hacker-howto.html
Normal file
87
homepage/hacker-howto.html
Normal 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><<A HREF="mailto:trinity@trinity.moe">trinity@trinity.moe</A>></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>
|
Loading…
Reference in New Issue
Block a user