fisl

Embora exista uma certa discussão sobre isto, eu peço que para continuar lendo este post deixemos uma coisa bem clara:

Hacker não é:

  • Quem escreve um software malicioso e rouba a sua senha do banco;
  • Quem baixa software malicioso feito por terceiros para tentar tirar vantagem em jogos e afins;
  • Quem instala um keylogger e rouba a sua senha do orkut/facebook/twitter/email (mais conhecidos como Ráquer por nossos amigos superdotados do facelido orkut);
  • Quem explora uma falha de segurança em algum software para lucrar e/ou prejudicar terceiros.

Para todos os fins estas pessoas são chamadas crackers ou script kiddies (no caso de apenas usarem software feito por outros) e não são o tema aqui abordado.

Obs.: Novamente, existe alguma controvérsia na questão de nomenclatura e taxonomia de todos os grupos de hackers, mas não me concentrarei nessas questões.

Então quem é um hacker?

Eu definiria um hacker como aquele indivíduo apaixonado por tecnologia que em busca de aprendizado e diversão “fuça” (tradução livre da palavra hack) a tecnologia que ele tem à disposição, visando entender como ela funciona e usar ela para criar coisas novas e que lhe ajudem de alguma maneira.

O título desta postagem é uma referência direta ao texto escrito por Eric S. Raymond, How To Become A Hacker e a minha motivação é compartilhar com vocês o que senti ao lê-lo pela primeira vez.

Não entrarei em muitos detalhes sobre o texto pois é melhor absorver a informação do original. Me contentarei em dar pequenos conselhos “motivacionais” e talvez descrever como eu iniciei a minha busca para me tornar um hacker e onde eu estou agora, porque afinal eu ainda não cheguei lá.

Aprendizado e comunicação

Você precisa aprender a programar, falar a linguagem dos computadores. E não apenas programar, mas sim programar em vários tipos de linguagens diferentes e ser capaz de ler o código de outras pessoas, bem como escrever código legível por outras pessoas. Exercitar e estudar tudo isso por si só já é um bocado de trabalho (e porque não diversão?) para qualquer um, mas não é tudo que um programador deveria fazer.

É ainda mais importante se comunicar com pessoas do que com o computador e a maneira mais óbvia de fazer isto é pela web. Participe de comunidades que tem os mesmos interesses do que você, listas de emails de softwares e linguagens que você usa, por exemplo. Aprenda a ser fluente em HTML (que não é uma linguagem de programação própriamente dita). Crie conteúdo interessante e criativo, soluções para problemas e compartilhe tudo com a coletividade da internet. Talvez até crie um blog : )

Software livre

Agora imagine um mundo ideal onde você pode “fuçar” em todos os softwares que quiser, além de pode misturar livremente os seus próprio código com código desenvolvido por outras pessoas e talvez você comece a entender porque o software livre é importante. Grandes empresas de software como Apple e Microsoft gostam de ditar como você deve fazer essa interação, como você deve escrever o seu software. Na maioria das vezes isso envolve o uso de ferramentas proprietárias, das quais não é possível deduzir e/ou modificar o funcionamento e que (propositadamente) não interagem bem com com outros softwares (e as vezes nem entre si).

Pense que se você quer ser capaz de poder usar e aprender com softwares interessantes você tem que fazer a sua parte e contribuir para que o software seja livre. A dica dada no texto e apoiada fortemente por mim é que você aprenda a usar um sistema operacional livre como por exemplo, Linux, BSD e Solaris. Estes sistemas além de terem o seu código aberto, são construídos com base no UNIX e numa poderosa filosofia de portabilidade, reusabilidade de código e modularidade (filosofia esta que é muito bem discutida pelo próprio Eric Raymond neste ótimo livro), todas características desejáveis para fins de nossas experiências.

Oba! Eu quero ser um!

Finalmente, não ache que é possível se tornar um hacker da noite para o dia. Como todos os grandes projetos na vida, este é mais um que pode (e irá) levar anos.

Para fechar o post deixarei aqui os cinco pilares da atitude hacker, definidos no texto original, se você se identifica com os pontos apresentados a seguir você tem o que é preciso para ser um hacker.

  1. O mundo está cheio de problemas fascinantes para serem resolvidos.
  2. Nenhum problema deveria ter que ser resolvido mais de uma vez.
  3. O tédio e a fadiga são ruins.
  4. A Liberdade é boa.
  5. Atitude não é substituta de competência.

Referências

Que tal começar a estudar?

Deixem feedback na sessão de comentários abaixo