Thyrsus Enterprises
<esr@thyrsus.com>
Copyright © 2001 Eric S. Raymond
Copyright de la traducción © 2010 por Luis E. Amaya González
<xattack@lycosmail.com>
| Historial de Revisiones | ||
|---|---|---|
| Revisión 1.41 | 3 de Noviembre del 2008 | esr |
| Agregado de “Notas Históricas”. | ||
| Revisión 1.40 | 3 de Noviembre del 2008 | esr |
| Arreglo de vínculos. | ||
| Revisión 1.39 | 14 de Enero - Agosto del 2008 | esr |
| Arreglo de vínculos. | ||
| Revisión 1.38 | 8 de Enero del 2008 | esr |
| Desaprobando Java como un lenguaje para aprender tempranamente. | ||
| Revisión 1.37 | 4 de Octubre del 2007 | esr |
| Recomendando Ubuntu como una distribución Unix para novatos | ||
| Revisión 1.36 | 21 de Marzo del 2007 | esr |
| Agregando nota acerca de los Live CD's y los diez años para el dominio | ||
| Revisión 1.35 | 3 de Agosto del 2006 | esr |
| Arreglos menores | ||
| Revisión 1.34 | 7 de Marzo del 2006 | esr |
| Quitando C# de la lista de lenguajes a evitar, ahora que Mono ya dejo de ser beta | ||
| Revisión 1.33 | 29 de Noviembre del 2005 | esr |
| Agregando un vínculo al excelente ensayo de Peter Norvig. | ||
| Revisión 1.32 | 29 de Junio del 2005 | esr |
| Nuevo material substancial en no resolver un problema dos veces. Respuestas en FAQ en hacking y programación de código abierto. Las tres preguntas que revelan si ya eres un hacker. | ||
| Revisión 1.31 | 22 de Marzo del 2005 | esr |
| Agregando un vínculo a otro ensayo de Paul Graham, y un consejo de cómo tomar un proyecto nuevo. Más actualizaciones de ligas a traducciones | ||
| Revisión 1.30 | 2 de Marzo del 2005 | esr |
| Agregando y actualizando muchos vínculos de traducciones. | ||
Tabla de contenidos
- ¿ Por qué este documento?
- ¿ Qué es un hacker?
- La actitud Hacker
- Habilidades básicas para el hackeo
- Estatus en la cultura hacker.
- La conexión Hacker/Nerd
- Cuestiones de estilo
- Nota histórica: Hacking, Código abierto y software Libre
- Otros recursos
- FAQ's

¿Por qué este documento?
Como editor del Jargon File y de algunos otros bien conocidos documentos de naturaleza similar, frecuentemente recibo correos electrónicos de novatos entusiastas de la Red preguntando "¿Cómo puedo ser un hacker mágico?". En 1996 me dí cuenta de que no había otras FAQ's o documentos web que se avocaran a esta cuestión vital, así que empeze este mismo. Muchos hackers lo consideran ahora definitivo, y Yo supongo que significa que lo es. Aún asi, no declaro ser la única autoridad en este tema; si no te gusta lo que aquí lees, escribe el tuyo.
Si estas leyendo un trozo de este documento offline, la versión actual se encuentra en http://catb.org/~esr/faqs/hacker-howto.html.
Nota: hay una lista de FAQ's al final de este documento. Por favor leanlas — 2 veces — antes de enviarme cualquier pregunta acerca de este documento.
Existen muchas traducciones disponibles de este documento:Árabe, Búlgaro, Catalán, Chino (simplificado), Danés, Holandés, Estonio, Persa, Finlandés, Alemán, Griego, Hebreo, Italiano, Japonés, Noruego, Polaco, Portugués, Rumano, Ruso, Español-Es, Turco, Sueco. Note que el contenido de este documento cambia ocasionalmente, asi que las traducciones pueden estar desactualizadas en diversos grados.
El diagrama de cinco-puntos-en-nueve-cuadros que ilustra este documento se llama glider. Es un simple patron con algunas propiedades sorprendentes en una simulación matemática llamada Life la cual ha fascinado a los hackers por muchos años. Yo creo que hace un buen emblema visual para lo que los hackers son — resumen , al principio un poco misterioso, pero una puerta hacia un mundo completo con lógica intrigante en sí mismo. Lean más acerca del emblema glider aquí.
¿Qué es un hacker?
El Jargon File contiene un montón de definiciones del termino 'hacker', la mayoría basadas en la afición a lo técnico y en el placer de resolver problemas y sobrepasando los límites. Sí quieres saber cómo convertirte en un hacker, pienso que sólo dos definiciones son relevantes.
Existe una comunidad, de cultura compartida, de programadores expertos y magos de las redes, cuya historia se remonta décadas atras hasta los primeros tiempos de las minicomputadoras y los primeros experimentos de la ARPAnet. Los miembros de esta cultura generaron el término 'hacker'. Los hackers construyeron la Internet. Los hackers hicieron del sistema operativo Unix lo que es hoy en dia. Los hackers hacen andar Usenet. Los hackers hacen funcionar la WWW. Si eres parte de esa cultura, si has contribuido a ella y otras personas de esa cultura te conocen y ellos te llaman hacker, entonces eres un hacker.
La mentalidad hacker no está confinada a esta cultura del software.
Hay gente que aplica la actitud hacker a otras cosas, como la electrónica o la música — de hecho, puedes encontrarla en los niveles más altos de cualquier ciencia o arte. Los hackers del software reconocen estos espíritus emparentados donde sea y también podrían llamarlos hackers — y algunos más diran que la naturaleza hacker es independiente del medio en particular en el cuál los hackers trabajen. Pero en el resto del documento nos enfocaremos en las habilidades y actitudes de los hackers del software, y en las tradiciones del la cultura compartida que originó el termino 'hacker'.
Hay otro grupo de personas que ruidosamente se llaman a sí mismos hackers, pero no lo son. Esas son personas (generalmente adolescentes varones) que se divierten irrumpiendo en computadoras y phreakeando el sistema telefónico. Los verdaderos hackers llaman a estas personas 'crackers' y no quieren tener nada que ver con ellos. Los auténticos hackers opinan que los crackers son holgazanes, irresponsables y no muy brillantes, y objetan que ser capaz de romper la seguridad no te hace un hacker así como arrancar un automóvil desde el cableado eléctrico no te hace un ingeniero automotriz . Desafortunadamente, muchos periodistas y escritores utilizan erróneamente la palabra 'hacker' para describir a los crackers; esto irrita a los auténticos hackers sin límite.
La diferencia básica es esta: los hackers construyen cosas, los crackers las destruyen.
Sí quieres ser un hacker, continua leyendo. Sí quieres ser un cracker, ve a leer el grupo de noticias alt.2600 y preparate para la dura realidad cuando descubras que no eres tan listo como creías. Y eso es todo lo que voy a decir acerca de los crackers.

La Actitud Hacker
- 1. El mundo está lleno de problemas fascinantes esperando ser resueltos.
- 2. Ningún problema debería ser resuelto por segunda vez.
- 3. El aburrimiento y la monotonía son perniciosos.
- 4. La libertad es buena.
- 5. La actitud no es substituto de la competencia.
Los hackers resuelven problemas y crean cosas, y ellos creen en la libertad y la ayuda mutua voluntaria. Para ser aceptado como un hacker, tendrás que comportarte como si tuvieras esta actitud en tu interior. Y para comportarte como si tuvieras esta actitud, tendrás que creertela de verdad.
Pero si piensas que cultivar las actitudes hacker es sólo un camino para obtener aceptación en esta cultura, te equivocaste. Transformate en el tipo de persona que cree que este tipo de cosas es importante para ti — para ayudarte a aprender y mantenerte motivado. Como en todas las artes creativas, la via más efectiva para convertirte en un maestro es imitar la mentalidad de los maestros — no sólo intelectualmente sino también emocionalmente.
O como dice el siguiente poema Zen moderno:
Para seguir la trayectoria:
observa al maestro,
sigue al maestro,
camina con el maestro,
mira a través del maestro,
conviértete en maestro
Así que, si quieres ser un hacker, repite lo que sigue hasta que lo creas:
1. El mundo está lleno de fascinantes problemas que esperan ser resueltos.
Ser un hacker es inmensamente divertido, pero es el tipo de diversion que requiere cantidades de esfuerzo. El esfuerzo requiere motivación. Los atletas exitosos obtienen su motivación de un placer físico al hacer trabajar sus cuerpos, en exceder sus propios límites físicos. De igual manera, para ser un hacker deberás sentir un estremecimieto primitivo al resolver problemas, afinar tus habilidades y ejercitar tu inteligencia.
Si no eres el tipo de persona que siente esto de manera natural, necesitarás convertirte en una para llegar a ser un hacker. De otra manera encontrarás que tu energía hacker se agotará por distractores como sexo, dinero y aprobación social
(También deberás desarrollar un tipo de fé en tu propia capacidad de aprendizaje — la creencia en que, aún cuando no conozcas todo lo necesario para resolver un problema, si sólo tomas una parte de él y aprendes desde ahí, aprenderás lo suficiente para resolver la siguiente parte, y así, hasta que lo resuelvas completamente.)
2. Ningun problema debería ser resuelto por segunda vez.
Las mentes creativas son un recurso valioso y límitado. No deberían ser desperdiciados en reinventar la rueda cuando hay muchos problemas nuevos fascinantes esperando ahí afuera.
Para comportarse como un hacker, tienes que creer que el tiempo para pensar que emplean otros hackers es valioso — tanto, que es casi una obligación moral compartir la información, resolver problemas y dar la solución de manera que otros hackers puedan resolver nuevos problemas en vez de tener que referirse perpetuamente a los anteriores.
Como sea, note que "ningun problema debería ser resuelto por segunda vez." no implica que deba considerar todas las soluciones existentes como sagradas, o que solamente existe una solución correcta para cualquier problema dado. Comúnmente aprendemos mucho de un problema del cual no sabiamos nada con anterioridad estudiando la solución más eficiente. Esta bien y a menudo es necesario decidir que podemos hacerlo mejor. Lo que no esta bien son los artificios técnicos, legales, o las barreras institucionales (como el código de fuente cerrada) que evitan que una buena solución sea reusada y obligan a la gente a reinventar la rueda.
(No tienes que sentirte obligado a donar toda tu producción creativa, aunque los hackers que lo hacen son los que obtienen más respeto de los demás hackers. Es consistente con los valores hackers el venderte lo suficiente para poder pagar la renta, el sustento y las computadoras. Esta bien usar tus habilidades hackers para mantener a la familia, o incluso volverte rico, siempre que no olvides tu lealtad a tu arte y a tu comunidad hacker mientras lo logras.)
3. El aburrimiento y la monotonía son perniciosos.
Los hackers (y la gente creativa en general) nunca deberían aburrirse o someterse a trabajos estupidamente repetitivos, porque cuando esto pasa significa que no estan haciendo lo único que pueden hacer — resolver problemas. Este desperdicio lastima a todos. Así que el aburrimiento y la monotonía no solo son desagradables sino malignos.
Para comportarte como un hacker, tienes que creen en esto lo suficiente como para alejar automáticamente los bits de aburrimiento tanto como sea posible, no solo para ti mismo sino para todos los demás (especialmente otros hackers)
(Aparentemente existe una excepción a esto. Los hackers harán cosas aparentemente repetitivas o aburridas a un observador como un ejercicio de claridad mental, o en el caso de adquirir una habilidad o experimentar un tipo de experiencia en particular que no podría obtenerse de otro modo. Pero esto es por elección — nadie que sea capaz de pensar debe ser obligado a padecer una situación que le cause aburrimiento.)
4. La libertad es buena
Los hackers son antiautoritarios por naturaleza. Cualquiera que te pueda dar ordenes puede impedirte resolver el problema por el cual estas fascinado — y dada la forma en que las mentes autoritarias trabajan, hallará alguna razón espantosamente estúpida para hacerlo. La actitud autoritaria tiene que ser combatida donde quierea que se le encuentre, si no, te asfixiará a ti y a los otros hackers.
( Esto no es lo mismo que combatir toda autoridad. Los niños necesitan ser guiados y los criminales, restricciones. Un hacker puede estar de acuerdo en aceptar un grado de autoridad para conseguir algo que desea más que el tiempo que desperdicia siguiendo órdenes. Pero esto es un pacto limitado, consciente; la clase de sumisión que desean los autoritarios no está en oferta.)
Los autoritarios prosperan en la censura y el secreto. Y desconfían de cooperación voluntaria y del intercambio de información — únicamente quieren la 'cooperación' que ellos controlan. Así que para que comportarte como un hacker, tienes que desarrollar una hostilidad instintiva hacia la censura, la secrecía, y al uso de la fuerza y el engaño para someter a los adultos responsables. Y debes de tener la voluntad para actuar en consecuencia.
5. La actitud no es substituto de la competencia.
Para ser un hacker, tienes que desarrollar algunas de estas actitudes. Pero imitar solo una actitud no te hará un hacker, más que una estrella de rock o un atleta de campeonato. Volverse un hacker requiere inteligencia, dedicación, práctica y trabajo duro.
Por lo tanto, tienes que aprender a desconfiar de la actitud y respetar la competencia de cualquier tipo. Los hackers no desperdiciarán su tiempo con quienes adoptan la pose de hacker, pero veneran la competencia — especialmente la capacidad de hackear, pero la competencia en cualquier ámbito es valorada. La competencia en habilidades demandantes que pocos pueden dominar es especialmente buena, y la competencia en habilidades demandantes que requieren agudeza mental, destreza y concentración es mucho mejor.
Si tu veneras la competencia, disfrutarás desarrollandola en ti mismo, — el trabajo duro y la dedicación se volverán un tipo de juego intenso en vez de rutinario. Esa actitud es vital para convertirse en un hacker

Habilidades básicas para el hackeo
- 1. Aprendiendo cómo programar
- 2. Obten uno de los Unixes de código abierto, aprende a usarlo y hazlo funcionar.
- 3. Aprende como usar la Web y a programar en HTML.
- 4. Si no tienes un inglés funcional, aprendelo.
La actitud hacker es vital, pero las habilidades lo son aún más. La actitud no es substituto de la competencia, y existe un conjunto básico de habilidades las cuales debes de poseer antes de que cualquier hacker sueñe con llamarse así.
Este conjunto cambia lentamente con el tiempo, conforme la tecnología crea nuevas habilidades y descarta otras por obsoletas. Por ejemplo, se incluía la programación en el lenguaje máquina, hasta que se manejo HTML. Pero ahora es claro que incluye lo siguiente:
1. Aprendiendo cómo programar.
Esta es, por supuesto, la habilidad hacker fundamental. Si no sabes ningun lenguaje de programación, recomendaria empezar con Python. Está limpiamente diseñado, bien documentado, y es relativamente fácil con los principiantes. A pesar de ser un buen primer lenguaje de programación, no es unicamente un juguete, es podersoso, flexible y bien adaptado a grandes proyectos. Escribí un detallado análisis de Python. Buenos tutoriales estan disponibles en el sitio web de Python.
Solía recomendar Java como un lenguaje para aprender temprananmente, pero esta crítica cambio mi opinión (búsquen "Las trampas de Java como un primer lenguaje de programación" dentro de él). Un hacker no puede tener, como ellos tremendistamente pusieron "un enfoque de resolución de problemas como el de un plomero en una ferreteria"; tú tienes que saber lo que los componentes están haciendo realmente. Ahora pienso que es mejor probablemente aprender C y Lisp primero, y después Java.
Posiblemente hay una cuestión más general aquí.Sí un lenguaje hace mucho por ti, puede ser simultaneamente una buena herramienta de producción y una muy mala para aprender. No son unicamente los lenguajes de programación los que adolecen de este problema; los frameworks de aplicaciones web, como RubyOnRails, CakePHP, Django, etc. pueden hacer muy fácil el alcanzar una especie de entendimiento superficial que te dejará sin los recursos necesarios que necesitarás cuando tengas que enfrentarte a un problema realmente pesado, o incluso simplemente depurar la solución de uno sencillo.
Si te metes en la programación seria, tendrás que aprender C, el lenguaje base de Unix. C++ está muy relacionado con C; si sabes uno, aprender el otro no será difícil. Ningun de ellos es bueno para aprender a programar por primera vez. Además entre más puedas evitar programar en C más productivo que te volverás.
C es muy eficiente, y es muy cuidadoso con los recursos de tu máquina. Desafortunadamente, C obtiene esa eficiencia requiriendote que hagas un monton de manejo de recursos de bajo nivel (como la memoria) a mano. En ese bajo nivel el código es complejo y es propenso a los errores, y demandará mucho de tu tiempo depurandolo. Con las máquinas actuales tan poderosas como son, esto es usualmente un mal negocio — es más inteligente usar un lenguaje que use el tiempo de ejecución menos eficientemente, pero en cambio tu tiempo mucho más eficientemente. O sea, Python.
Otros lenguajes de particular importancia para los hackers incluyen Perl y Lisp. Aprender Perl vale la pena por razones prácticas, es ampliamente usado por páginas web activas y para la administración de sistemas, asi que, aunque nunca hayas programado en Perl deberías aprender a leerlo. Mucha gente usa Perl por la misma razón por la que te sugiero usar Python, para evitar la programación en C en trabajos que no requieran la eficiencia en tiempo máquina. Necesitarás ser capaz de entender su código.
Aprender Lisp vale la pena por una razón diferente — la esclarecedora y profunda experiencia que tendras al lograrlo finalmente. Esa experiencia te hará un mejor programador por el resto de tu vida, incluso si actualmente no usas Lisp mucho.(Puedes obtener una primera experiencia con Lisp sencillamente al escribir y modificar los modos de edición para el editor de texto Emacs, o los plugins Script-Fu de GIMP)
Actualmente lo mejor es aprender los cinco lenguajes: Python, C/C++, Java, Perl y Lisp. Aparte de ser los lenguajes de programación más importantes del hackeo, representan muy distintos paradigmas de programación, y cada uno de ellos te educará de diferentes y valiosas maneras.
Estarás advertido de que no alcanzarás las habilidades de un hacker o incluso de un programador simplemente por acumular lenguajes — necesitas saber cómo razonar los problemas de programación de manera general, independientemente de cualquier lenguaje de programación. Para ser un auténtico hacker, necesitarás llegar al punto de aprender un nuevo lenguaje de programación en dias relacionando lo que ya conoces con lo que está en el manual. Esto significa que deberás aprender muchos lenguajes de programación diferentes.
No puedo dar instrucciones completas de cómo aprender a programar aquí — es una habilidad compleja. Pero puedo decirte que libros y cursos no lo harán — muchos , probablemente la mayoría de los hackers son autodidactas. Puedes aprender las características del lenguaje — bits de conocimiento — de los libros, pero la mentalidad que hace de ese conocimiento una habilidad viviente sólo puede ser aprendida por la práctica y el aprendizaje. Lo que lo hará será (a) leyendo código y (b)escribiendo código.
Peter Norvig, quien es uno de los hackers de mayor jerarquía en Google y el coautor del libro más usado en inteligencia artificial, escribió un excelente ensayo llamado Enseñate a programar en diez años. Su "receta para el exito en la programación" es digno de atención
Aprender a programar es como aprender a escribir bien en lenguaje natural. La mejor manera de lograrlo es leer algo escrito por maestros del tema, escribe algo por ti mismo, lee un poco más, escribe más ...y repitelo hasta que veas que tus escritos comiencen a desarrollar el tipo de fuerza y economía que ves en tus modelos.
Hallar buen código que leer solía ser difícil, porque había pocos programas grandes disponibles en código fuente para hackers inexpertos para que lo leyeran y lo intentaran arreglar. Esto ha cambiado dramáticamente; el software de código abierto, las herramientas de programación, y los sistemas operativos (todos hechos por hackers) estan ampliamente disponibles ahora. Lo que me lleva al siguiente tema ...
2. Obten uno de los Unixes de código abierto, aprende a usarlo y hazlo funcionar.
Asumiré que tienes tu propia computadora o que puedes tener acceso a una.(Tomate un momento para apreciar que tanto significa esto. La cultura hacker evolucionó cuando las computadoras eran tan costosas que ningun individuo podía comprarse una.) El paso más importante que puede dar un principiante en el camino de adquirir habilidades hacker, es obtener una copia de Linux o alguno de los BSD's Unix u OpenSolaris, instalarlo en su computadora y hacerlo funcionar.
Sí,es cierto que existen otros sistemas operativos en el mundo aparte de Unix. Pero los distribuyen en formato binario — no puedes leer el código, y no puedes modificarlo. Intentar aprender cómo hackear en una máquina MS Windows o en cualquier otro sistema de código cerrado es cómo intentar aprender a bailar mientras tienes el cuerpo enyesado.
En Mac OS X es posible, pero sólo una parte del sistema es de código abierto — vas a encontrarte con muchos obstaculos, y deberás tener cuidado de no desarrollar el vicio de depender del código propietario de Apple. Si te concentras en el Unix que está oculto, podrás aprender algunas cosas útiles.
Unix es el sistema operativo de Internet. Mientras puedes aprender a usar la Internet sin conocer Unix, no podrás ser un hacker de Internet sin entender Unix. Por esta razón, la cultura hacker hoy en día está fuertemente centrada en Unix. (Esto no siempre fue así, y algunos hackers veteranos les desagrada esa situación, pero la simbiosis entre Unix y la Internet se ha vuelto tán fuerte que incluso la fuerza de Microsoft no es capaz de hacerle mella alguna.)
Así que consiguete un Unix — me gusta Linux pero hay otros caminos (y sí, tu puedes ejecutar juntos Linux y Microsoft Windows en la misma máquina). Aprendelos. Hazlos funcionar. Juega con ellos. Comunícate con Internet a través de ellos. Leé y modifica el código. Obtendrás las mejores herramientas de programación (que incluye C, Lisp, Python y Perl) ) de las que ningun sistema operativo de Microsot podría tan siquiera soñar, te divertirás, y obtendrás una cantidad de conocimiento tal, que sin darte cuenta de que lo estás aprendiendo, un día voltearás a verlo ya como un maestro hacker.
Para má información acerca del aprendizaje de Unix, véase The Loginataka.Tambié puede ser que quieras echarle un vistazo a The art of Unix Programming.
Para meterte con Linux, visita el sitio Linux Online! puedes descargar desde ahí o (mejor aún) puedes encontrar un grupo de usuarios de linux local que te ayude con la instalación.
Durante los primeros diez primeros años de este HOWTO, reporte qué, desde el punto de vista de un usuario novato, todas las distribuciones Linux eran más o menos equivalentes. Pero en los años 2006-2007, surgió una mejor opción:Ubuntu. Mientras otras distribuciones tienen sus propias áreas de fortaleza, Ubuntu es con mucho la más accesible a los usuarios nuevos en Linux.
Puedes encontrar recursos y ayuda en BSD Unix en www.bsd.org
Una buena forma de introducirte en el tema es arrancar lo que los fanáticos de Linux llaman un live CD, una distribución que se ejecuta enteramente desde un disco compacto sin tener que modificar tu disco duro de manera alguna. Esto podría ser lento, porque la lectura de discos compactos es lenta, pero es una manera de observar las posibilidades sin tener que hacer nada drástico.
Escribí una introducción de los fundamentos básicos de Unix e Internet {basics of Unix and the Internet}
Solía recomendar en contra de la instalación de Linux o BSD como un proyecto en solitario, si eras un novato. Actualmente los instaladores se han vuelto tan buenos que hacerlo completamente por ti mismo es ahora posible. De cualquier manera, aún recomiendo establecer contacto con tu grupo de usuarios de Linux local y solicitar ayuda. No puede dañar y puede facilitar el proceso.
3. Aprende cómo usar la Web y a programar en HTML
Muchas de las cosas que la cultura hacker ha hecho realizan su tarea fuera de vista del público, ayudando en el funcionamiento de fábricas, oficinas y universidades, sin ningún impacto obvio en como viven los no-hackers. La web es la gran excepción, el gran juguete lustroso de los hackers que incluso los políticos admiten que ha cambiado al mundo. Sólo por esta razón (y por muchas buenas otras razones también) necesitas aprender cómo trabajar en la Web.
Esto no sólo significa saber cómo utilizar un navegador (cualquiera puede hacerlo), sino aprender a escribir en HTML, el lenguaje de marcado de la Web. Si no sabes cómo programar, escribir en HTML te enseñará algunos habitos mentales que te ayudarán a aprender.
Así que hazte una página personal. Acercate a XHTML, el cuál es un lenguaje más claro que el HTML clásico.(Hay buenos tutoriales para principiantes en la Red; aquí hay uno)
Pero tener únicamente una página web no te acercará lo suficiente para ser un buen hacker. La Web esta llena de páginas personales. Muchas de ellas son inútiles, basura sin contenido — basura muy vistosa, pero basura al fin y al cabo(para saber más de esto véase The HTML Hell Page). Para que valga la pena, tu página debe de tener contenido — debe ser interesante y/o útil a otros hackers. Y eso nos lleva al siguiente tema ...
4. Si no tienes un inglés funcional, apréndelo.
Como estadounidense y anglófono nativo, era renuente a sugerir esto, podría ser tomado como un tipo de imperialismo cultural. Pero varios hablantes nativos de otras lenguas me han solicitado que señale que el inglés es el lenguaje con el que trabaja la Internet y la cultura hacker, y eso lo tendrás que saber para funcionar en la cultura hacker.
Tiempo atrás, cerca de 1991 aprendí que muchos hackers que tienen al inglés como segunda lengua, lo usan en las discusiones técnicas incluso cuando ellos comparten la lengua materna; en ese tiempo me explicaron que el inglés tiene un mayor lenguaje técnico que cualquier otro idioma y simplemente por eso es una mejor herramienta de trabajo. Por razones parecidas, las traducciones de libros técnicos escritos originalmente en inglés son comúnmente insatisfactorias (si es que se hacen).
Linus Torvalds, un finlandés, comenta su código en inglés (parece que nunca se le ocurrió hacerlo de otra manera). Su fluidez en el inglés ha sido un factor importante en su habilidad de reclutar una comunidad mundial de desarrolladores para Linux. Es un ejemplo digno de seguir.
Ser nativo del inglés no garantiza que tengas las habilidades verbales necesarias para funcionar como un hacker. Sí tu escritura en semi-letrada, incorrecta gramaticalmente y plagada de errores ortográficos, muchos hackers (incluyendome) tenderemos a ignorarte. Si bien una escritura descuidada no significa un razonamiento torpe, hemos encontrado una fuerte correlación entre ambos — y no tenemos necesidad de los pensadores torpes. Si todavía no puedes escribir competentemente, aprende.

Estatus en la cultura hacker
- 1. Escribe software de código abierto.
- 2. Ayuda a probar y depurar software de código abierto.
- 3. Publica información útil
- 4. Ayuda a mantener en funcionamiento a la infraestructura.
- 5. Haz algo por la cultura hacker en sí misma.
Como la mayoría de las culturas sin una economía monetaria, lo hacker se basa en la reputación. Estás intentando resolver problemas interesantes , pero cuan interesantes son, y si sus soluciones son realmente buenas, es algo que únicamente tus colegas técnicos y superiores son capaces de juzgar.
De acuerdo con esto, cuando te adentras al juego hacker, aprenderás a mantener tu puntuación en función de lo que otros hackers piensan de tus habilidades (es por esto que no eres realmente un hacker hasta que otros hackers te llaman asi de manera consistente). Este factor es obscurecido por la imagen del hackeo como un trabajo solitario; también por un tabú cultural hacker (decayendo gradualmente desde la segunda mitad de 1990, pero aún es fuerte) en contra de admitir que el ego o la validación externa están involucradas en la motivación personal.
Ser hacker es lo que los antropólogos llaman concretamente una cultura del obsequio. Ganas estatus y reputación en ella no al dominar a otras personas, no por ser hermoso, no por tener cosas que otras personas quieren, sino por donar cosas. Específicamente por donar tu tiempo, creatividad, y los resultados de tus habilidades.
Básicamente hay cinco tipos de cosas que puedes realizar para ser respetados por los hackers:
1. Escribe software de código abierto.
Lo primero (lo central y más tradicional) es escribir programas que otros hackers consideren útiles o divertidos, y dar el código fuente de los programas a todos para que los usen.
(Solíamos llamar a estos esfuerzos "software libre", pero esto confundía a demasiada gente que no estaba completamente segura del significado de 'libre'. La mayoría de nosotros preferimos ahora el termino código abierto para este software)
Los semidioses más reverenciados del reino hacker son personas que han escrito grandes y competentes programas , que respondían a una necesidad generalizada y los donaron, de tal manera que ahora cualquiera puede usarlos.
Pero hay un poco de un buen punto histórico aquí. Mientras los hackers siempre han visto a los desarrolladores de código abierto entre ellos como el núcleo más duro, en el primer lustro de la década de los años noventas la mayoría de los hackers pasaban la mayor parte de su tiempo trabajando en proyectos de código cerrado. Esto era aún cierto cuando escribí la primera versión de este HOWTO en 1996; tomó a la mayoría del movimiento de código abierto hasta después de 1997 poder cambiarlo. Hoy en día, la "comunidad hacker" y los desarrolladores de "código abierto" son dos descripciones para lo que es esencialmente la misma cultura y población — pero es bueno recordar que esto no fue siempre así.( Para ahondar más sobre el tema, véase la sección llamada "Nota Histórica: Hacking, Código Abierto y Software Libre"
2. Ayuda a probar y depurar software de código abierto
También se reconoce a los que se ofrecen a depurar software de código abierto. En este mundo imperfecto, vamos a gastar la mayor parte de nuestro tiempo de desarrollo de software en la fase de desarrollo. Es por eso que cualquier autor de código abierto piensan que un buen "beta-tester" ( quienes saben cómo describir los síntomas claramente, ubicar bien los problemas, toleran errores en las versiones liberadas y estan dispuestos a aplicar unas cuantas rutinas sencillas de diagnóstico) vale su peso en oro. Aún contando con uno solo de estos "beta-testers" puede hacer la diferencia entre un proceso de depuración que es una prolongada y agotadora pesadilla, y otro que es sólo una molestia saludable.
Si eres un novato, intenta hallar un programa que este en desarrollo el cual te interese y se un buen "beta-tester". Hay una progresión natural de ayudar a probar programas hacia ayudar a depurarlos hacia ayudar a modificarlos. Aprenderás mucho en este modo, y generará buen karma con gente que después te ayudará en algo.
3. Publica información útil.
Otra cosa buena es recopilar y filtrar información útil e interesante dentro de las páginas web o en documentos tipo FAQ's, y ponerlos a disposición de los demás.
Los responsables de mantener las principales FAQ's técnicas obtienen casi tanto respeto como los autores de código abierto.
4. Ayuda a mantener en funcionamiento la infraestructura .
La cultura hacker (y el desarrollo ingenieríl de Internet, para el caso) es realizado por voluntarios. Hay un monton de trabajo necesario pero poco atractivo que necesita llevar un seguimiento — administrar listas de correo, moderar grupos de noticias, mantenimiento de grandes sitios de almacenamiento de software, desarrollo de RFC's y otros estándares técnicos.
La gente que se dedica a este tipo de cosas obtiene mucho respecto, porque todos saben que estos trabajos son demandantes y consumidores de tiempo y no tan divertidos como jugar con el código. Hacerlos demuestra dedicación
5. Haz algo por la cultura hacker en sí misma
Finalmente, puedes propagar la cultura en sí misma (por ejemplo al escribir un informe acerca de cómo convertirse en Hacker :-)). Esto no es algo que estes en posición de hacer hasta que hayas estado cerca por un rato y te vuelvas bien conocido por alguno de los primeros cuatro puntos.
La cultura hacker no tiene líderes exactamente, pero si tiene heroes culturales y ancianos tribales e historiadores y portavoces. Cuando has estado en las trincheras por largo tiempo, te desarrollarás como alguno de ellos. Ten cuidado: los hackers desconfían del ego vociferante en sus veteranos tribales, así que buscar abiertamente este tipo de fama es peligroso. En vez de esforzarte por ella, es mejor colocarse en una posición tal que esta [fama] caiga sobre ti, y entonces ser modesto y amable acerca de tu estatus.

La conexión Hacker/Nerd
Contrariamente al mito popular, no tienes que ser un nerd para ser un hacker.Ayuda, como sea, y muchos hackers son de hecho nerds. Ser algo como un profugo social te ayuda a estar concentrado en las cosas realmente importantes, como pensar y hackear.
Por esta razón, muchos hackers adoptaron la etiqueta de 'geek'como un símbolo de orgullo — es su forma de declarar su independencia de las expectativas sociales normales (asi como el gusto por otras cosas como ciencia ficción y juegos de estrategia que a menudo van de la mano con ser un hacker). El termino 'nerd' solía ser usado de esta manera en la década de los noventas, cuando 'nerd' era levemente peyorativo y 'geek' aún más ofensivo; algun tiempo después del año 2000 intercambiaron lugares, al menos en la cultura popular de los E.U.A, e incluso ahora hay un orgullo geek significativo entre la gente que son no son adictos a la tecnología.
Si puedes manejar el tener que concentrarte lo suficiente en hackear para ser bueno y aun así tener una vida, eso esta bien. Es mucho más sencillo hoy en día de lo que lo era cuando yo era novato allá por la década de 1970; la corriente cultural es mucho mas amigable con los tecno-nerds de hoy. Incluso hay un creciente número de personas que se da cuenta que los hackers son comúnmente amantes de alta calidad y materia para parejas.
Si te atrae hackear porque no tienes una vida, eso también ESTÁ BIEN — al menos no tendrás problemas de concentración. Posiblemente consigas una vida un poco después.

Puntos por el estilo.
Nuevamente, para ser un hacker, tienes desarrollar la mentalidad hacker. Hay algunas cosas que puedes hacer cuando no estas frente a una computadora que parecen ayuda. No son substituto del hackeo (nada lo es) pero muchos hackers lo hacen, y sienten que se conectan de una forma básica con la esencia de la actividad hacker.
Aprende a escribir en tu lenguaje materno correctamente. Mientras es un estereotipo que los programadores no son capaces de escribir, un sorprendente número de hackers (incluyendo todos los mejores que conozco)son escritores muy capaces.
Lee ciencia ficción. Ve a las convenciones de ciencia ficción (es un buen modo de conocer hackers y proto-hackers)
Entrenate como en las artes marciales. El tipo de disciplina mental requerida para las artes marciales parece ser similar en muchas formas a lo que los hackers hacen. Los tipos más importantes entre los hackers definitivamente son las artes marciales sin armas tales como el Tae-Kwon-Do, muchas de las formas del karate, Kung Fu, Aikido, o Ju Jitsu. La esgrima occidental y las artes de la espada asiaticas también tienen seguidores. En los lugares que es legal, el tiro con pistola ha incrementado su popularidad desde finales de la década de los 90's. Las artes marciales mas hackeriles son aquellas que enfatizan la disciplina mental, la conciencia relajada, y control, en vez fuerza bruta, atletismo, o resistencia física.
Estudia una disciplina de verdadera meditación. El favorito perenne entre los hackers es el Zen (importante, es posible beneficiarse del Zen sin adquirir una religión o descartando una que ya tengas). Otros estilos pueden trabajar también, pero se cuidadoso al escoger alguna que no requiera que creas en cosas alocadas.
Desarrolla un oído musical analítico. Aprende a apreciar tipos peculiares de música. Aprende a ejecutar algun instrumento musical también, o cómo cantar.
Desarrolla tu apreciación por los juegos verbales y los dobles sentidos
Cuantas más cosas de estas hayas hecho ya, será mas probable que seas material natural para ser hacker. El porque de estas cosas en particular y no otras es algo que no está claro, pero estan conectadas con un mezcla de habilidades cerebrales del lado izquierdo y derecho de tu cerebro que parecen ser importantes; los hackers necesitan ser capaces de razonar lógicamente y dado el caso salirse de la lógica aparente de un problema en un momento dado.
Trabaja tan intensamente como te diviertas y diviertete tan intensamente como trabajas. Para los verdaderos hackers, las diferencias entre "jugar", "trabajar", "ciencia" y "arte" tienden a desaparecer o mezclarse en un nivel creativo elevado regocijante. Además, no te des por satisfecho al tener un pobre nivel de habilidades. Mientras que la mayoría de los hackers se autodescriben como programadores, suelen ser más que competentes en distintas habilidades — administración de sistemas, diseño y diagnosticar y reparar problemas con el hardware son los más comunes. Un hacker que sea un administrador de sistemas, es también un diestro programador de script's y diseño web. Los hackers no hacen las cosas a medias, si se meten de lleno en un tema, tienden a ser muy buenos en él.
Finalmente, unas cuantas cosa para no hacer.
No uses un nombre de usuario o pseudónimo ostentoso, torpe.
No te involucres en una guerra de flamazos en Usenet (o en ningún otro lado).
No te denomines 'cyberpunk', y no desperdicies tu tiempo en nadie que lo haga.
No publiques o envies, por correo electrónico, escritos que estén plagados de errores gramáticales y sintácticos.
La única reputación que te formarás al hacer cualquiera de estas cosas es de tonto. Los hackers tienen una gran memoria — podría tomarte años superar el recuerdo de tus desatinos y equívocos iniciales antes de ser aceptado.
El problema con los pseudónimos o alias merece una explicación. Ocultar tu identidad detras de un pseudónimo es un comportamiento tonto y adolescente característico de crackers, warez d00z, y otros tipos de vida inferiores. Los hackers no hacen esto; están orgullosos de lo que son y quieren eso asociado a sus nombres reales. Así que si tienes un apodo, desechalo. En la cultura hacker eso sólo te señalará como un perdedor.

Nota histórica: Hacking, Código abierto y Software Libre
Cuando escribí este how-to en los finales de 1996, algunas de las condiciones alrededor de este eran muy diferentes de la forma en que se ven hoy en día. Unas cuantas palabras acerca de estos cambios pueden ayudar a esclarecer hechos para gente que está confundida acerca de las relaciones del código abierto, software libre, y Linux con la comunidad hacker. Si no eres curioso acerca de esto, puedes obviar esta sección desde aquí y pasar directamente a las FAQ's y la bibliografía.
El ethos y la comunidad hacker como las he descrito aquí preceden con mucha anterioridad la salida de Linux, después de 1990; me involucré con ella cerca de 1976, y sus raíces se pueden rastrear al principio de la década de 1960. Pero antes de Linux, la mayoría del hackeo se hacia tanto en los sistemas operativos propietarios como en un puñado de sistemas caseros experimentales como el ITS del MIT, los cuales nunca fueron utilizados fuera de sus nichos académicos originales. Existieron unos cuantos intentos de cambiar esto (pre-Linux), su impacto fue, en el mejor de los casos, marginal y confinado en sus comunidades de verdaderos creyentes las cuales fueron pequeñas minorías incluso dentro de la comunidad hacker, con respecto la gran mundo del software en general.
Lo que ahora se denomina "código abierto" viene de tan lejos como la comunidad hacker misma, pero hasta 1985 era una práctica popular común antes que un movimiento conciente con teorías y manifiestos agregados a ella. Esta prehistoria terminó cuando , en 1985, el hacker veterano Richard Stallman ("RMS") intentó darle un nombre — "software libre". Pero su acto de nambrarlo también fue una declaración; le agregó contenido ideológico a la etiqueta de "software libre" la cual mucha de la comunidad hacker existente nunca acepto. Como resultado, la etiqueta de "software libre" fue sonoramente rechazada por una minoría substancial de la comunidad hacker (especialmente entre aquellos asociados con el Unix BSD), y es usada con serias pero silentes reservas por la mayoría de los restantes.
A pesar de estas reservas, RMS proclama liderar y definir la comunidad hacker bajo la etiqueta de "software libre" ampliamente usada desde mediados de la década de 1990. Sólo el surgimiento de Linux lo desafío seriamente. Linux le dió al desarrollo de "código abierto" una guarida natural. Muchos proyectos desarrollados bajo terminos que ahora llamamos de código abierto migraron de los Unixes propietarios a Linux.La comunidad alrededor de Linux creció explosivamente, volviendose más heterogénea y grande que la cultura hacker pre-Linux. RMS intentó determinadamente cooptar toda esta actividad dentro de su movimiento del "software libre, pero fue rechazado por la explosiva diversidad de la comunidad Linux y el escepticismo público de su fundador, Linus Torvalds. Torvalds continuó usando el termino "software libre" por la ausencia de alguna alternativa, pero rechazó públicamente el contenido ideológico de RMS. Muchos jóvenes hackers hicieron lo mismo.
En 1996, cuando publiqué la primera edición de este HOWTO hacker, la comunidad hacker se estaba reorganizando rápidamente alrededor de Linux y un puñado de otros sistemas operativos de código abierto (notablemente los descendientes del Unix BSD). La memoria colectiva del hecho de que la mayoría de nosotros gastamos décadas desarrollando software de código cerrado en sistemas operativos también de código cerrado no ha desaparecido aún, pero ese hecho parece empezar a pertenecer al pasado muerto; los hackers, con mayor frecuencia, se definen a sí mismos como hackers por su adhesión a los proyectos de código abierto tales como Linux o Apache.
De cualquier manera, el término "código abierto" aún no había emergido; no lo haría hasta principios de 1998. Cuando lo hizo, la mayoría de la comunidad hacker lo adoptó en los siguientes seis meses.; la excepción fue una minoría ideológicamente adicta al término "software libre". Desde 1998, y especialmente después del 2003, la identificación de 'hacking' con 'desarrollo de código abierto (y software libre)' se volvió extremadamente cercana. Hoy en día hay un intento de hacer una distinción entre estas categorías, pero parece improbable que eso cambie en el futuro.
De cualquier manera, vale la pena recordar, que esto no siempre fue así.

Otros recursos
Paul Graham escribió un ensayo llamado Grandes Hackers, y otro acerca de no graduados, en donde el habla con mucha sabiduría.
Hay un documento llamado Cómo volverse un programador que es un excelente complemento a este. Tiene consejos valiosos no solamente acerca de codificar y conjuntos de habilidades, sino también acerca de cómo funcionar en un equipo de programación.
También escribí Una breve historia del reino hacker
Escreibí un documento, La Catedral y el Bazar, el cual explica con profusión acerca de cómo trabajan las culturas del código abierto y Linux. Abordé este tema más directamente en su secuela Homesteading the Noosphere
Rick Moen escribió un excelente documento acerca de Cómo hacer funcionar un grupo de usuarios de Linux.
Rick Moen y yo colaboramos en otro documento acerca de Cómo hacer preguntas de manera inteligente. Esto te ayudará a buscar asistencia de una manera que logres realmente obtenerla.
Si necesitas instrucción acerca de cómo funcionan las computadoras personales, Unix, e Internet, véase HOWTO de los Fundamentos de Unix e Internet
Cuando desarrolles software o escribas parches para software, intenta seguir las guís del HOWTO Prácticas para el desarrollo de software
Si disfrutaste el poema Zen, podría gustarte Rootless Root: The Unix Koans of Master Foo.

Preguntas Más Frecuantes (FAQ's)
- P:¿ Cómo digo si ya soy realmente un hacker?
- P:¿ Me enseñarás a hackear?
- P:¿ Entonces, cómo comienzo?
- P:¿ Cuándo conviene empezar?¿ Es demasiado tarde para mí?
- P:¿ Cuánto tiempo me llevará aprender a hackear?
- P:¿ Es Visual Basic un buen lenguaje para comenzar?
- P:¿ Me ayudarías a crackear un sistema, o me enseñarías a crackear?
- P:¿ Cómo puedo obtener el password de la cuenta de alguien más?
- P:¿ Cómo obtengo acceso/leo/monitoreo el correo de alguien más ?
- P:¿ Cómo puedo sustraer privilegios de operador de canal en IRC?
- P:Me han crackeado. ¿Me ayudarías a protegerme de futuros ataques?
- P:Tengo problemas con mi software de Windows. ¿ Podrías ayudarme?
- P:¿ Dónde puedo encontrar algun hacker de verdad con quien pueda platicar?
- P:¿ Podrías recomendar libros realmente útiles acerca de temas relacionados al hackeo?
- P:¿ Necesito ser bueno en matemáticas para llegar a ser un hacker?
- P:¿ Qué lenguaje debo aprender primero?
- ¿ Qué tipo de hardware necesito?
- P:Quiero contribuir. ¿ Me ayudarías a escoger un problema en el cual trabajar?
- P:¿ Necesito odiar y vituperear a Microsoft?
- P:¿Pero, no imposibilitaría el software de código abierto a los programadores de ganarse la la vida?
- P:¿ Dónde puedo obtener un Unix libre?
P: | ¿ Cómo digo si ya soy realmente un hacker? |
R: | Preguntate estas tres cosas:
Si puedes responder afirmativamente a las tres preguntas, ya eres un hacker. No sólo dos son suficientes. La primer prueba es de habilidades. Probablemente la pasaste, si tienes las habilidades técnicas mínimas descritas la principio de este documento. Vuelas directamente a ello, si tienes una substancial cantidad de código aceptada por un proyecto de desarrollo de código abierto. La segunda prueba es acerca de actitud. Si los cinco principios de la mentalidad hacker se te hacen obvios, es más una descripción de tu estilo de vida que algo nuevo, estarás a un tramo de alcanzarlo. Esa es la primera mitad, la otra mitad, la final; es el grado con el que te identificas con los proyectos de largo plazo de la comunidad hacker. Aquí hay una lista incompleta pero indicativa de algunos de esos proyectos: ¿ Te interesa que Linux mejore y se difunda?, ¿ Eres un apasionado de la libertad del software?, ¿ Eres hostil a los monopolios?, ¿ Actuas en la creencia de que las computadoras pueden ser instrumentos de empoderamiento que puden hacer al mundo un lugar mas rico y más humano? Pero una nota de advertencia se hace necesaria aquí. La comunidad hacker tiene algunos intereses específicos políticos defensivos primarios — dos de ellos son :la defensa de la libertad de expresión y repeler los embates del poder de la "propiedad intelectual" que harían ilegal al código abierto. Algunos de los proyectos a largo plazo son organizaciones por los derechos civiles como 'Electronic Frontier Foundation', y la actitud apropiada exhibida incluye su mantenimiento económico. Pero má alla de eso, la mayoría de los hackers ven con reticencias los intentos de sistematizar la actitud hacker dentro un programa político explícito; hemos aprendido por el camino difícil, que estos intentos son divisionistas y distractores. Sí alguien intenta reclutarte para marchar a tu capital en nombre de la actitud hacker, ellos han perdido el punto. Probablemente la respuesta correcta sea "Cierra la boca y enseñales el código". La tercer prueba tiene un engañoso elemento de recursividad. Observé en la sección llamada "¿ Qué es un hacker?" que ser un hacker es parcialmente el hecho de pertenecer a una subcultura particular, o a un entramado social con una historia compartida, una externa y otra interna. En el pasado remoto los hackers eran más individualistas y mucho menos cohesivos de lo que son hoy en día. Pero la importancia del aspecto de las redes sociales se ha incrementado en los últimos treinta años mientras la Internet ha hecho conexiones con el centro de la cultura hacker fáciles de mantener y descubrir. Un indicador sencillo del cambio de comportamiento, en este siglo, es que tenemos nuestras propias playeras. Los sociólogos, quienes estudian redes, cómo esas de la cultura hacker bajo la rubrica invisible de "colegios invisibles", han notado que una característica de tales redes es que ellas tienen guardianes — miembros con la autoridad social para agregar nuevos miembros a la red. Porque el "colegio invisible" que es la cultura hacker es uno informal y laxo, el rol del guardian lo es también. Pero algo que todos los hackers entienden en sus huesos es que no todo hacker es un guardian. Los guardianes tienen que tener a un cierto grado de antigüedad y antes de que ellos puedan portar el título. Qué tanto, es algo díficil de cuantificar, pero cualquier hacker lo sabe cuando lo observa. |
P: | ¿ Me enseñarías cómo hackear? |
R: | Desde la primera vez que publiqué esta página, he recibido muchas solicitudes a la semana (comunmente varias al día) de gente pidiendo "enseñame todo sobre el hackeo". Desgraciadamente, no tengo el tiempo ni la energía para esto; mis propios proyectos de hackeo y trabajo como un dedicado al código abierto, toman el 110% de mi tiempo disponible. Incluso si lo tuviera, el hackeo es una actitud y una habilidad que debes aprender por ti mismo. Encontrarás que mientras los verdaderos hackers quieren ayudarte, no te respetarán si tu ruegas por ser alimentado en la boca con todo lo que ellos saben. Aprende unas cuantas cosas primero. Demuestra que lo estas intentando, que eres capaz de aprender por tu propia cuenta. Entonces ve con lo hackers que has conocido con preguntas específicas. Si le envias un correo electrónico a un hacker pidiendole un consejo, aquí hay dos cosas que debes saber. Primero, hemos encontrado que la gente que es holgazana o descuidada en su escritura es, usualmente, también floja y descuidada en su razonamiento para ser buenos hackers — entonces ten cuidado de usar la sintaxis correctamente, una buena puntuación y gramática, de otra manera probablemente serás ignorado. Segundo, no te atrevas a pedir uan respuesta a una cuenta de tu proveedor de internet (ISP) que sea diferente de la cuenta desde la cual la estas enviando; hemos encontrado que la gente que hace eso son usualmente usurpadores de cuentas, y no tenemos interés alguno en darle soporte ni recompensar a los robos. |
P: | ¿ Entonces, cómo comienzo? |
R: | El mejor medio que tienes para empezar probablemente será asistir a una reunión de algun Grupo de Usuarios de Linux (GUL). Puedes encontrar a tales grupos en la Página de Información General de Linux; seguramente hay uno cerca de ti, posiblemente asociado a un colegio o universidad. Los miembros del GUL seguramente te darán una distribución de Linux si la pides, y ciertamente te ayudarán a intalarlo y comenzar. |
P: | ¿ Cuándo conviene empezar? ¿ Es muy tarde para mi? |
R: | A cualquier edad en que estes motivada para comenzar es buena edad. La mayoría de la gente parece estar interesada en el rango de los 15 a 20 años, pero conozco de excepciones en ambas direcciones. |
P: | ¿ Cuánto tiempo me llevará aprender a hackear? |
R: | Eso dependerá que tan talentoso seas y que tan duro trabajes en ello. La mayoría de la gente que lo intenta puede adquirir un respetable conjunto de habilidades de 18 meses a dos años para alcanzar maestría . Y si tú eres realmente un hacker, gastarás el resto de tu vida aprendiendo y perfeccionando tu habilidad. |
P: | ¿ Es Visual Basic un buen lenguaje para comenzar? |
R: | Si estas preguntando esto, es casi seguro que estes pensando en intentar hackear sobre Microsoft Windows. Esa es una mala idea por si misma. Cuando comparé intentar aprender a hackear en Windows con intentar aprender a bailar estando completamente enyesado, no estaba bromeando. No te dirigas hacia allá, es feo y nunca dejará de serlo. Hya un problema en específico con Visual Basic; principalmente que no es portable. Aunque hay implementaciones prototipo de código abierto de Visual Basic, los estandares ECMA aplicables no cubren más que un pequeño conjunto de sus interfaces de programación. En Windows la mayoría de su soporte para bibliotecas de programación es propietario de un solo vendedor (Microsoft); si no eres extremadamente cuidadoso con las características que usas — mucho más cuidadoso de lo que cualquier novato puede serlo — terminarás atado a las plataformas a las que Microsoft selecciona para darles soporte. Sí estas comenzando en un Unix, mucho mejores lenguajes con mucho mejores bibliotecas de programación estarán disponibles. Python por ejemplo. Además, como otros Basics, Visual Basic es un lenguaje pobremente diseñado que te inculcará malos hábitos de programación. No, no me pidas que los describa a detalle; esa explicación llenaría un libro. En vez de eso aprende un lenguaje bien diseñado. Uno de esos malos habitos es volverse dependiente de las bibliotecas de programción de un solo vendedor,widgets y herramientas de desarrollo. Generalmente, cualquier lenguaje que no este totalmente soportado al menos bajo Linux o alguno de los BSDs, y/o al menos tres vendedores diferentes de sistemas operativos, es un muy pobre lenguaje para a hackear con el. |
P: | ¿ Me ayudarías a crackear un sistema, o me enseñarías cómo hacerlo ? |
R: | No. Cualquiera que aún pueda hacer esa pregunta despuées de haber leído estas FAQs es demasiado estúpido para ser educable incluso si tuviera el tiempo para guiarlo. Cualquier solicitud por correo electrónico de este tipo que obtengo será ignorada o respondida con rudeza extrema. |
P: | ¿ Cómo obtengo el password de la cuenta de alguien más? |
R: | Eso es crackear. Largo de aquí, idiota. |
P: | ¿ Cómo obtengo acceso/leo/monitoreo al correo de alguien más? |
R: | Esto es crackear. Piérdete, imbécil. |
P: | ¿ Cómo puedo sustraer privilegios de operador de canal en IRC? |
R: | Esto es crakear. Fuera de aquí, cretino. |
P: | Me han crackeado. ¿ Me ayudarías a protegerme de futuros ataques? |
R: | No. Todo el tiempo que me hacían esta pregunta hace tiempo, ha sido de parte de algun pobre diablo corriendo Microsoft Windows. No es posible asegurar efectivamente a los sistemas Windows contra los ataques de crackeo.; el código y la arquitectura simplemente tienen demasiados defectos, lo que hace fortalecer un Windows como intentar abandonar un barco en un cedazo. La única medida de prevencio posible comiena al cambiarse a Linux o algun otro sistema operativo que este diseñado para al menos ser protegido. |
P: | Tengo problemas con mi software de Windows. ¿ Podrías ayudarme? |
R: | Sí. Abre un promt de DOS y teclea "format c:". Cualquier problema que estes experimentando cesará en unos cuantos minutos. |
P: | ¿ Dónde pueda encontrar un hacker de verdad con quien platicar? |
R: | La mejor manera es encontrar un grupo de usuarios de Linux o Unix local cercano a ti e ir a sus reuniones (puedes encontrar ligas a muchas listas de grupos de usuarios en el sitio web LDP en ibiblio). (Solía decir en esta parte que no encontrarías verdaderos hackers en los canales de IRC, pero entiendo que esto esta cambiando. Aparentemente algunas comunidades hackers de verdad, relacionadas a cosas como GIMP y Perl, ahora tienen canales IRC.) |
P: | ¿ Podrías recomendar libros realmente útiles acerca de temas relacionados al hackeo? |
R: | Mantengo el HOWTO Lista de Lecturas de Linux. El Loginataka también podría ser interesante. Para una introducción acerca de Python, véase el tutorial en el sitio web de Python. |
P: | ¿Necesito ser bueno en matemáticas para llegar a ser un buen hacker? |
R: | No. El hackeo usa muy pocas matemáticas formales o aritmética. En particular, usualmente no necesitarías trigonometría, cálculo o análisis (hay excepciones a esto en áreas específicas de aplicación como graficación 3D por computadora). Saber algo de lógica formal y algebra booleana es bueno. Algunas bases en matemáticas finitas (incluyendo la teoría de conjuntos finita, combinatorias y teoría de grafos) podría ser de ayuda. Mucho más importante: necesitas ser capaz de pensar lógicamente y seguir cadenas de razonamientos exactos, del modos en que lo hacen los matemáticos. Si adolesces de la inteligencia, hay pocas esperanzas para ti como hacker; si adolesces de disciplina, mejor aprendela. Creo que un buen camino para saber si tienes lo que se necesita es agarrar una copia del libro ¿Cómo se llama este libro? de Raymond Smullyan. Los acertijos juguetones lógicos de Smullyan estan bastante dentro del espíritu hacker. Ser capaz de resolverlos es un buen signo; disfrutar resolverlos es mucho mejor. |
P: | ¿ Qué lenguaje debo aprender primero? |
R: | XHTML (el último dialécto de HTML) si es que todavia no lo sabes. Hay un monton de libros deslumbrantes y extremadamente malos de HTML, y penosamente pocos buenos. El que más me gusta es HTML: la guía definitiva Pero HTML no es un lenguaje de programación completo. Cuando estas listo para empear a programar, yo recomendaría comenzar con Python. Vas a escuchar a mucha gente recomendar Perl, y Perl es aún más popular que Python, pero es difícil de aprender y (en mi opinión) esta menos bien diseñado C es realmente importante, pero tambié mucho más difícil que Python o Perl. No intentes aprenderlo primero. Usuarios de Windows, no se acostumbren a Visual Basic. Te enseñará malos hábitos, y no es portable fuera de Windows. Evitalo. |
P: | ¿ Qué tipo de hardware necesito? |
R: | Solía ser que las computadoras fueran un tanto pobres en memoria así como poco poderosas, lo sufciente como para que impusieran límites artificiales al proceso de aprendizaje de un hacker. Esto dejó de ser cierto a mediados de la década de 1990; cualquier computadora desde las Intel 486DX50 en adelante es más que suficiente para el trabajo del desarrollo, X, y las comunicaciones por Internet, y los discos más pequeños que puedas comprar hoy en día son lo suficientemente grandes para eso. Lo realmente importante al escoger una máquina en la cual aprender es saber que tan compatible es su hardware con Linux( o compatible con BSD, deberías escoger ir por esa ruta). Otra vez, esto debería ser cierto para la mayoría de las máquinas modernas. Las únicas áreas latosas son los modems y las tarjetas inalámbricas; algunas máquinas tienen hardware específico de Windows que no trabajará con Linux. Hay un FAQ en acerca de la compatibilidad del hardware; la última versión está aquí |
P: | Quiero contribuir. ¿ Podrías ayudarme a escoger un problema en el cual trabajar? |
R: | No, porque no conozco tus intereses o tus talentos. Tienes que estar automotivado o no la harás, que es la razón por la cual nunca funciona el que otras personas escogan tu camino. Intenta esto. Observa el anuncio de proyectos que se encuentran en Freshmeat por unos cuantos dias. Cuando veas uno que te haga pensar "Wow,quiero trabajar en algo asi!", únetele |
P: | ¿ Necesito odiar y vituperear a Microsoft? |
R: | No, no lo necesitas. No es que Microsoft no sea desagradable, pero hubo una cultura hacker mucho antes de Microsoft y seguirá existiendo por largo tiempo cuando Microsoft sea historia. Cualquier energía que desperdicies odiando a Microsoft será mejor empleada amando tus habilidades. Escribe buen código — lo que va a golpear a Microsoft lo suficiente sin ensuciar tu karma. |
P: | ¿Pero no imposibilitaría el software de código abierto a los programadores de ganarse la vida? |
R: | Esto parece improbable — desde hace tiempo, la industria del código abierto parece estar creando empleos antes que estarlos desapareciendo. Si tener un programa escrito es una ganancia económica neta sobre el no tenerlo, un programador será remunerado sin importar si el programa vaya a ser código abierto después de que este hecho. Y, sin importar cuanto software "libre" sea escrito, siempre parecerá haber más demanda por las aplicaciones personalizadas y nuevas . He escrito más acerca de esto en las páginas de Código Abierto. |
P: | ¿ Dónde puedo obtener un Unix libre? |
R: | Si no tienes un Unix instalado en tu máquina todavia, en todos lados de esta página he incluido apuntadores para obtener los unixes más comunmente usados. Para ser un hacker necesitas motivación e iniciativa y la habilidad de autoeducarte. Comienza ahora ... |
0 comentarios:
Publicar un comentario en la entrada