Como se Tornar um Hacker
Editado por Eric S. Raymond e outros 82
Fixá-lo
Artigo
Editar Discuta História
Existe uma comunidade, uma cultura compartilhada, de especialistas programadores e redes assistentes que traça a sua história através de décadas com os primeiros minicomputadores de tempo compartilhado e os primeiros experimentos na ARPAnet. Os membros dessa cultura deram origem 'hacker'. O termo
Há um outro grupo de pessoas que se dizem hackers, mas não são. Estas são pessoas que se divertem invadindo computadores e fraudando o sistema telefônico. Hackers de verdade chamam de 'crackers' essas pessoas e não quer nada com eles. Hackers de verdade objeto que ser capaz de quebrar a segurança não faz de você um hacker mais do que ser capaz de ligação direta em carros torna alguém um engenheiro automobilístico.
Há pessoas que aplicam a atitude hacker verdadeiro para outras coisas, como eletrônica ou música - mas no resto deste artigo vamos focar as habilidades e dos hackers de software, e as tradições da cultura compartilhada que deu origem hackers do termo ". '
Editar Passos
Pensando como um Hacker
- 1
Adotar a mentalidade de um hacker. Hackers resolvem problemas e constróem coisas, e acreditam na liberdade e na ajuda mútua voluntária. Para ser aceito como um hacker, você tem que se comportar como se você tem esse tipo de atitude. E para se comportar como se você tem a atitude, você tem que realmente acreditar nessa atitude. Então, se você quiser ser um hacker, repita as seguinte coisas até que você acredite nelas:
- O mundo está cheio de problemas fascinantes esperando para serem resolvidos. Atletas de sucesso retiram sua motivação de uma espécie de prazer físico em trabalhar seus corpos, em tentar ultrapassar seus próprios limites físicos. Da mesma forma, você tem que ter uma emoção básica em resolver problemas, afiar suas habilidades e exercitar sua inteligência.
- Nenhum problema deve ter para ser resolvido duas vezes. O tempo de pensamento dos outros hackers é precioso - tanto que é quase um dever moral para você compartilhar informação, resolver problemas e depois dar as soluções, para que outros hackers possam resolver novos problemas ao invés de ter que perpetuamente se preocupar com os antigos .
- Tédio e trabalho repetitivo são nocivos. Quando os hackers estão entediadas ou ter que fazer trabalho repetitivo, eles não estão fazendo o que apenas eles podem fazer - resolver novos problemas. Para se comportar como um hacker, você tem que querer automatizar as partes chatas tanto quanto possível.
- A liberdade é boa. A atitude autoritária deve ser combatida onde quer que você encontrá-lo, para que não sufoque a você ea outros hackers. Nem todas as figuras de autoridade são autoritários, no entanto, autoritárias prosperam na censura e no segredo. E desconfiam de cooperação voluntária e compartilhamento de informações.
- Atitude não substitui competência. Hackers não deixam posers gastar seu tempo, mas eles reconhecem competência - especialmente competência em hacking, mas competência em qualquer coisa é valorizado. A competência em habilidades que poucos conseguem dominar é especialmente boa, e competência em habilidades que involvem agudeza mental, perícia e concentração é o melhor.
- 2
Ganhar o respeito como um hacker. Como a maioria das culturas sem economia monetária, a do hacker se baseia em reputação. Você está tentando resolver problemas interessantes, mas quão interessantes eles são, e se suas soluções são realmente boas, é algo que somente seus iguais ou superiores tecnicamente são normalmente capazes de julgar. É por isso que você não é realmente um hacker até que outros hackers lhe chamem assim. Especificamente, a do hacker é o que os antropólogos chamam de "cultura do dom". Você ganha status e reputação não por dominar outras pessoas, nem por ser bonito, nem por ter coisas que as pessoas querem, mas sim por doar coisas: o seu tempo, sua criatividade, e os resultados de sua habilidade.
- Escrever open-source software . Escrever programas que outros hackers achem divertidos ou úteis, e dar as fontes de programas de distância para a cultura hacker inteiro para usar. Semideuses mais venerados da cultura hacker são pessoas que escreveram programas grandes, competentes, que atendeu a uma necessidade generalizada e os distribuíram para que todos pudessem usar.
- Ajude a testar e depurar open-source software. Qualquer autor de open-source software que pense lhe dirá que bons beta-testers (que saibam descrever sintomas claramente, localizar problemas, tolerar bugs em um lançamento apressado, e estão dispostos a aplicar algumas rotinas de diagnóstico) valem o seu peso em ouro. Tente achar um programa sob desenvolvimento em que você está interessado e seja um bom beta-tester. Há uma progressão natural de ajudar a testar programas para ajudar a depurar e depois ajudar a modificá-los. Você aprenderá muito assim, e gerar um bom karma com pessoas que irão ajudá-lo mais tarde.
- Publique informação útil. Outra coisa boa é coletar e filtrar informações úteis e interessantes em páginas da Web ou documentos como Perguntas Frequentes (FAQ) listas, e fazer aqueles geralmente disponíveis. Mantenedores de grandes FAQs técnicos são o respeito, quase tanto como open-source autores.
- Ajude a manter a infra-estrutura funcionando. A cultura hacker (eo desenvolvimento de engenharia da Internet, para que o assunto) é mantida por voluntários. Há muito trabalho sem glamour que precisa ser feito para mantê-la viva - administrar listas de email, moderar grupos de discussão, manter grandes sites que armazenam software, desenvolver RFCs e outros padrões técnicos. Pessoas que realizam esse tipo de coisa assim obter um lote de respeito, porque todo mundo sabe que esses serviços tomam muito tempo e não tão divertido quanto jogar com o código. Fazê-los mostra dedicação.
- Sirva a cultura hacker em si. Isso não é algo que você vai ser posicionado para fazer até que você tenha sido em torno de um tempo e tornar-se conhecido por um dos quatro itens anteriores. A cultura hacker não têm líderes, exatamente, mas ele tem heróis culturais e anciãos tribais, historiadores e porta-vozes. Quando estive em tempo suficiente nas trincheiras, você pode se tornar um deles. Cuidado: hackers desconfiam ego espalhafatosos em seus anciãos tribais, então procurar visivelmente por esse tipo de fama é perigoso. Ao invés de lutar por ela, você tem a sorte de se posicionar assim que cai no seu colo, e então ser modesto e cortês sobre seu status.
Aprendizado da programação
- 1
Aprenda a programar . A melhor maneira de aprender é ler algumas coisas escritas por mestres da forma, escrever algumas coisas você mesmo, ler mais um monte, escrever um pouco mais, ler mais um monte, escrever mais um pouco, e repetir até que seu estilo comece a desenvolver o tipo de força e economia que você vê em seus modelos. Para ser um hacker de verdade, no entanto, é preciso chegar ao ponto onde você pode aprender um novo idioma em dias, relacionando o que está no manual ao que você já sabe. Isto significa que você deve aprender várias linguagens bem diferentes. Além de serem as linguagens mais importantes para hackear, a seguir representam abordagens muito diferentes de programação, e cada um vai educá-lo em pontos importantes:
- Python é uma linguagem boa para começar com porque ele é projetado de forma limpa, bem documentado, e relativamente bom para iniciantes. Apesar de ser uma boa linguagem em primeiro lugar, não é apenas um brinquedo, é muito poderosa e flexível e bem adequada para grandes projetos. Java é uma alternativa, mas o seu valor como uma primeira linguagem de programação tem sido questionada. [1]
- Se você entrar em programação séria, você terá que aprender C , a linguagem principal de Unix ( C + + é muito estreitamente relacionada com C; se você conhece um, aprendendo o outro não será difícil). C é muito eficiente, com recursos de sua máquina, mas irá absorver enormes quantidades de seu tempo de depuração e é muitas vezes evitado por esse motivo (a menos que a eficiência da máquina é essencial).
- Perl vale a pena aprender, por razões práticas, é muito utilizado para as páginas da web ativos e administração do sistema, de modo que mesmo se você nunca escrever Perl você deve aprender a lê-lo. Muitas pessoas usam Perl para evitar programação C em empregos que não exigem eficiência C da máquina.
- LISP vale a pena aprender por um motivo diferente - a experiência de iluminação profundo você vai ter quando você finalmente vê-lo. Essa experiência fará de você um programador melhor pelo resto de seus dias, mesmo se você nunca realmente usar LISP-se muito. Você pode ter alguma experiência com início LISP facilmente por escrever e modificar os modos de edição para o editor de texto Emacs, ou Script-Fu plugins para o GIMP .
Familiarizar-se com Unix
- 1
Pegue um dos Unixes open-source e aprender a usar e executá-lo. Unix é o sistema operacional da Internet. Embora você possa aprender a usar a Internet sem conhecer Unix, você não pode ser um hacker sem entendê Unix. Por esta razão, a cultura hacker é hoje muito fortemente centralizada no Unix. Então, pegue um Unix (como Linux , mas existem outras maneiras e, sim, você pode rodar Linux e Microsoft Windows na mesma máquina). Aprendê-la. Executá-lo. Tinker com ele. Fale com a Internet com ele. Ler o código. Modifique o código.
- Existem outros sistemas operacionais no mundo além do Unix. Mas eles estão distribuídos em forma binária - você não pode ler o código, e você não pode modificá-lo. Tentar aprender a cortar em uma máquina Windows da Microsoft ou em qualquer sistema fechado de outra fonte é como tentar aprender a dançar com o corpo engessado. No Mac OS X é possível, mas apenas parte do sistema é de código aberto - é provável que você bater um monte de paredes, e você tem que ter cuidado para não desenvolver o mau hábito de depender de código proprietário da Apple.
- Descarregar o Linux on-line [2] ou (melhor idéia) encontrar um grupo de usuários Linux local para ajudá-lo com a instalação.
- Enquanto outras distribuições tem suas próprias áreas de força, o Ubuntu é de longe o mais acessível para os novatos do Linux.
- Uma boa maneira de mergulhar seus dedos na água é para arrancar o que os fãs do Linux chamar um CD ao vivo, uma distribuição que roda inteiramente fora de um CD sem ter que modificar seu disco rígido. Esta é uma maneira de obter um olhar para as possibilidades sem ter que fazer qualquer coisa drástica.
Aprendizagem HTML
- 1
Aprenda a usar a World Wide Web e escrever em HTML . A maioria das coisas que a cultura hacker tem construído o seu trabalho fora de vista, ajudando no funcionamento de fábricas, escritórios e universidades sem nenhum óbvio na vida dos não-hackers. A Web é a grande exceção, o enorme e brilhante brinquedo dos hackers que até mesmo políticos admitem que mudou o mundo. Por esta razão (e um monte de outros bons também) você precisa aprender como trabalhar na web. Isso não significa apenas aprender a mexer em um browser (qualquer um pode fazer isso), mas aprender como escrever HTML , a linguagem da web marcação. Se você não sabe programar, escrever em HTML lhe ensinará alguns hábitos mentais que o ajudarão a aprender. Então faça uma home page. Tente manter a XHTML , que é um limpador de língua que clássico HTML .
Editar Dicas
- Trabalhar tão intensamente quanto você jogar, e jogar tão intensamente quanto você trabalha. Para verdadeiros hackers, os limites entre "jogar", "trabalho", "ciência" e "arte" tendem a desaparecer ou a fundir-se numa brincadeira de alto nível criativo.
- Não se contente com uma faixa estreita de competências. Embora a maioria dos hackers se descrevem como programadores, eles são muito provável que seja mais do que competente em diversas habilidades relacionadas - Administração do sistema, web design, e solução de problemas de hardware PC são comuns. Hackers não fazem as coisas pela metade; se investir em uma habilidade em tudo, eles tendem a ficar muito bom no que faz.
- Você não tem que acreditar que você está obrigado a dar toda a sua produção criativa, ainda que hackers que o fazem são os que mais respeitados pelos outros hackers. É consistente com os valores do hacker vender o suficiente para mantê-lo em comida e aluguel e computadores. É bom para usar suas habilidades de hacker para sustentar a família ou mesmo ficar rico , contanto que você não se esqueça sua lealdade para com sua arte e seus companheiros hackers ao fazê-lo.
- Ao contrário do mito popular, você não tem que ser um nerd para ser um hacker. Ela não ajuda, entretanto, e muitos hackers são de fato nerds. Sendo uma espécie de pária social ajuda você a ficar concentrado nas coisas realmente importantes, como pensar e cortar. Se você consegue se concentrar o suficiente em hackear para ser bom no que faz e ainda ter uma vida, isso é bom. Cultura mainstream é muito mais amigável a tecno-nerds agora.
- Para ser um hacker, você tem que entrar na mentalidade hacker, e há algumas coisas que você pode fazer quando você não estiver em um computador que parecem ajudar. Eles não são substitutos para hacking (nada é), mas muitos hackers fazê-las, e sentir que eles se conectam de alguma forma básica com a essência do hacking (hackers precisam ser capazes de tanto raciocinar logicamente e sair da lógica aparente de um problema em qualquer momento).
- Escreva seu idioma nativo bem. Embora seja um estereótipo comum que os programadores não pode escrever, um número surpreendente de hackers são escritores muito capazes.
- Leia ficção científica . Ir para convenções de ficção científica (uma boa maneira de conhecer hackers e proto-hackers).
- Treinar em uma arte marcial . O tipo de disciplina mental necessária para artes marciais parece ser similar em aspectos importantes para que os hackers fazem. A maioria dos hackers-ly artes marciais são aqueles que enfatizam a disciplina mental, consciência relaxada eo controle, ao invés de força bruta, atletismo, ou a resistência física. Tai Chi é uma arte marcial boa para os hackers.
- Estudo de um real meditação disciplina. O eterno favorito entre os hackers é Zen (importante, é possível beneficiar de Zen sem adquirir uma religião ou descartar que você já tem).
- Desenvolva um ouvido analítico para música. Aprenda a apreciar tipos peculiares de música , e tocar algum instrumento musical bem, ou a cantar .
- Desenvolva sua apreciação de trocadilhos e jogos de palavras .
- Dominar o pensamento criativo. A mentalidade hacker é impulsionado por resolver problemas criativamente. Esta criatividade lhe dá a habilidade para resolver problemas que outros vêem como insolúvel.
- Se você não fala Inglês, pode ser uma boa idéia para aprender . Inglês é a língua de trabalho da cultura hacker e Internet, e você poderá precisar saber que ela funcione na comunidade hacker. Traduções de livros técnicos escritos em Inglês são muitas vezes insatisfatórios (quando eles se feito em tudo). Sendo um nativo-Inglês não garante que você tenha bons conhecimentos linguísticos, o suficiente para funcionar como um hacker. Se a sua escrita é semi-analfabeto, com erros gramaticais, e cheio de erros ortográficos, muitos hackers tendem a ignorá-lo.
Edite Avisos
- Cracking é uma atividade ilegal que pode resultar em penalidades graves. É uma ofensa grave e é punível nos termos da lei.
- Fazendo qualquer uma das seguintes você vai ganhar uma má reputação na comunidade hacker. Hackers tem boa memória - pode levar anos para você viver seus erros iniciais o suficiente para ser aceito. E também, o que está na Internet permanece na Internet. Não acho que ninguém vai tropeçar em que você fez há três anos.
- Não use uma bobagem, ID de usuário grandioso ou nome de tela .
- Não entre em flame wars na Usenet (ou em qualquer outro lugar).
- Não se chama um "cyberpunk", e não perca seu tempo com alguém que faz.
- Não poste ou a escrita de e-mail que está cheio de erros de ortografia e gramática ruim .
- Não acredito cegamente o conselho dado aqui ou em qualquer lugar on-line é verdade eo único caminho para abraçar a mentalidade de um hacker.