|
|
Habilidades
básicas en un hacker
La
actitud del hacker es vital, pero más aún lo son las habilidades. La actitud
no es sustituto para la habilidad, y existe un cierto conjunto de herramientas básicas
que debes dominar antes que cualquier hacker se le ocurra llamarte de ese modo.
Este
conjunto cambia lentamente a lo largo del tiempo a medida que la tecnología
crea nuevas habilidades y descarta otras por obsoletas. Por ejemplo, se incluía
la programación en lenguaje de máquina, y no se hablaba de HTML hasta hace
poco. Pero
por ahora es claro que se debe incluir lo siguiente:
1. Aprende a programar.
Esta
es, por supuesto, la habilidad fundamental del hacker. Si no conoces ningún
lenguaje de programación, te recomiendo comenzar con Python.
Está limpiamente diseñado, bien documentado y es relativamente agradable para
principiantes. A pesar de ser un buen lenguaje inicial, no es sólo un juguete:
es muy poderoso y flexible y bien adaptado a proyectos grandes.
Pero
no creas que podrás ser un hacker, siquiera un programador, si conoces un único
lenguaje -- debes aprender a pensar en los problemas de programación de una
manera general, independiente de cualquier lenguaje. Para ser un hacker de
verdad, debes llegar al punto en el cual puedes aprender un lenguaje nuevo en días,
relacionando lo que está en el manual con lo que sabes de antes. Esto significa
que debes aprender varios lenguajes muy diferentes entre sí.
Si
quieres entrar a programar de verdad, tendrás que aprender C, el lenguaje
central de Unix (aunque no es el que se debe intentar aprender primero). Otros
lenguajes de importancia son Perl
y LISP.
Perl vale la pena por razones prácticas: es muy usado en páginas WWW 'activas'
y en administración de sistemas; tanto así que aunque nunca llegues a
escribirlo, al menos tienes que aprender a leerlo. LISP es interesante de
aprender por la profunda e iluminadora experiencia que tendrás cuando
finalmente lo consigas: la experiencia te hará un mejor programador el resto de
tu vida, incluso si nunca usas demasiado el mismo LISP.
Lo
mejor, en realidad,
es aprender estos cuatro lenguajes (Python, C, Perl y LISP). Además de ser los
lenguajes más importantes para hackear, representan enfoques muy disímiles a
la programación, y cada uno te educará de maneras importantes. No
puedo explicar en detalle en este documento como puedes aprender a programar --
es una habilidad compleja. Pero puedo adelantarte que los libros y los cursos no
servirán (muchos, y tal vez la mayoría de los mejores hackers son
autodidactas). Lo
que sí servirá es (a) leer código y (b) escribir código.
El
aprendizaje de la programación es como aprender a escribir bien un lenguaje
natural. La mejor manera de aprender es leer algunas cosas escritas por los
maestros del estilo, luego escribir algunas cosas tú mismo, leer mucho más,
escribir un poco más... y repetir esto hasta que lo que escribes empiece a
mostrar la clase de fuerza y economía que ves en tus modelos.
Antes
era difícil encontrar código de buena calidad para leer, porque había pocos
programas de cierta magnitud disponibles en código fuente de tal manera que los
nóveles hackers pudieran meterles mano. Esta situación ha cambiado dramáticamente:
software libre, herramientas de programación libres, y sistemas operativos
libres (todo ello hecho por hackers) están ampliamente disponibles en la
actualidad. Lo
que me lleva elegentemente a nuestro siguiente tema...
2. Obtén uno de los
UNIXs libres y aprende a usarlo y a ponerlo en funcionamiento.
Doy
por sentado que tienes un computador o puedes conseguir acceso a uno (estos
muchachos de hoy en día tienen las cosas tan fácil :-)). El
paso más importante que cualquier novato puede dar en el camino de adquirir las
habilidades de un hacker es obtener una copia de Linux o alguno de los otros
Unixs tipo BSD libres, instalarlo en una máquina personal, y hacerlo funcionar.
Si,
es cierto que existen otros sistemas operativos en el mundo además de Unix.
Pero sólo pueden encontrarse en formato binario -- No puedes leer el código ni
modificarlo. Si intentas aprender a hackear en una máquina DOS, Windows o en un
MacOS te sentirás como si trataras de bailar metido en una armadura.
Además,
Unix es el sistema operativo de Internet. Si bien puedes aprender a usar
Internet sin saber Unix, nunca podrás ser un hacker en Internet sin conocerlo.
Por este motivo, la cultura hacker actual está centrada fuertemente en Unix. (Esto
no siempre fue así, e incluso la situación le desagrada a algunos de los
hackers más viejos, pero la simbiosis entre Unix y la Internet es tan fuerte
que hasta la energía de Microsoft parece incapaz de hacerle mella.)
Así
que obtén un Unix -- personalmente me gusta Linux, pero hay otros. Aprende a
usarlo. Hazlo funcionar. Métele mano, anímate. Comunícate en Internet
mediante él. Lee el código. Modifícalo.
En ese sistema se incluyen mejores herramientas de programación (incluyendo
Python, C, Lisp y Perl) de lo que cualquier sistema operativo de Microsoft podría
siquiera soñar, además te divertirás y te sumergirás en un caudal de
conocimientos de tal magnitud que nunca hubieras imaginado, hasta que en cierto
momento, mirando hacia atrás, te darás cuenta que ya eres un maestro hacker
consumado.
Si
quieres saber más sobre del aprendizaje de Unix, mira The
Loginataka.
Para meter mano en Linux, mira en el directorio de distribuciones Linux o en el programa `Linux CD Giveaway' en Metalab.
|