Abilidades Básicas Dos Hacks

A atitude hacker é vital, mas habilidades são ainda mais vitais. Atitude não substitui competência, e há uma certo conjunto de habilidades que você precisa ter antes que um hacker sonhe em lhe chamar de um.

Esse conjunto muda lentamente com o tempo, de acordo com a criação de novas habilidades. Por exemplo, costumava incluir programação em linguagem de máquina, e até recentemente não incluía HTML. Mas agora é certo que inclui o seguinte:

 

1. Aprenda a programar.

Essa é, claro, a habilidade básica do hacker. Em 1997, a linguagem que você absolutamente precisa aprender é C (apesar de não ser a que você deve aprender primeiro). Mas você não é um hacker e nem mesmo um programador se você souber apenas uma linguagem -- você tem que aprender a pensar sobre problemas de programação de um modo geral, independentemente de qualquer linguagem. Para ser um hacker de verdade, você precisa ter chegado ao ponto de conseguir aprender uma nova linguagem em questão de dias, relacionando o que está no manual ao que você já sabe. Isso significa que você deve aprender várias linguagens bem diferentes.

Além de C, você também deve aprender pelo menos LISP e Perl (e Java está tentando pegar um lugar nessa lista). Além de serem as linguagens mais importantes para hackear, cada uma delas representa abordagens à programaçaão bem diferentes, e todas o educarão em pontos importantes.

Eu nao posso lhe dar instruções completas sobre como aprender a programar aqui -- é uma habilidade complexa. Mas eu posso lhe dizer que livros e cursos também não servirão (muitos, talvez a maioria dos melhores hacker são auto-didatas). O que servirá é (a) ler código e (b) escrever código.

Aprender a programar é como aprender a escrever bem em linguagem natural. A melhor maneira é ler um pouco dos mestres da forma, escrever algumas coisas, ler mais um monte, escrever mais um monte, ler mais um monte, escrever... e repetir até que seu estilo comece a desenvolver o tipo de força e economia que você vê em seus modelos.

Achar bom código para ler costumava ser difícil, porque havia poucos programas grandes disponíveis em código-fonte para que hackers novatos pudessem ler e mexer. Essa situação mudou dramaticamente; open-source software (software com código-fonte aberto), ferramentas de programação, e sistemas operacionais (todos feitos por hackers) estão amplamente disponíveis atualmente.

2. Pegue um dos Unixes livres e aprenda a mexer.

Estou assumindo que você tem um computador pessoal ou tem acesso a um (essas crianças de hoje em dia tem tão facilmente :-)). O passo mais importante que um novato deve dar para adquirir habilidades de hacker é pegar uma cópia do Linux ou de um dos BSD-Unixes, o instalar em um PC, e rodá-lo.

Sim, há outros sistemas operacionais no mundo além do Unix. Porém, eles são distribuídos em forma binária -- você não consegue ler o código, e você não consegue modificá-lo. Tentar aprender a "hackear" em DOS, Windows ou MacOS é como tentar aprender a dançar com o corpo engessado.

Além disso, 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ê-lo. Por isso, a cultura hacker, atualmente, é fortemente centralizada no Unix. (Não foi sempre assim, e alguns hackers da velha guarda não gostam da situação atual, mas a simbiose entre o Unix e a Internet se tornou tão forte que até mesmo o músculo da Microsoft não parece ser capaz de ameacá-la seriamente.)

Então, pegue um Unix -- eu gosto do Linux, mas existem outros caminhos. Aprenda. Rode. Mexa. Acesse a Internet através dele. Leia o código. Modifique o código. Você terá ferramentas de programação (incluindo C, Lisp e Perl) melhores do qualquer sistema operacional da Microsoft pode sonhar em ter, você se divertirá, e irá absorver mais conhecimento do que perceber, até que você olhará para trás como um mestre hacker.

Para aprender mais sobre Unix, veja The Loginataka.

Para pegar o Linux, veja Where To Get Linux.

3. Aprenda a usar a World Wide Web e escrever em HTML.

A maioria das coisas que a cultura hacker tem construído funciona "invisivelmente", 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 está mudando o mundo. Por esse motivo (e vários outros também) você precisa a aprender como trabalhar na Web.

Isso não significa apenas aprender a mexer em um browser (qualquer um faz isso), mas aprender a programar em HTML, a linguagem de markup da Web. Se você não sabe programar, escrever em HTML lhe ensinará alguns hábitos mentais que o ajudarão. Então faça uma home page.

Mas apenas ter uma home page não chega nem perto de torná-lo um hacker. A Web está repleta de home pages. A maioria delas é inútil, porcaria sem conteúdo -- porcaria muito bem apresentada, note bem, mas porcaria mesmo assim (mais sobre esse assunto em The HTML Hell Page).

Para valer a pena, sua página deve ter conteúdo -- deve ser interessante e/ou útil para outros hackers. E isso nos leva ao próximo assunto...