Como se Tornar um Ráquer
Como se Tornar um Ráquer
Eric
Steven
Raymond
Thyrsus Enterprises
esr@thyrsus.com
Copyright © 2001 Eric S. Raymond
Permission is granted to copy, distribute and/or modify
this document under the terms of the Open Publication License,
version 2.0.
Revision History
Revision 1.39
14 Aug 2008
esr
Conserto de links.
Revision 1.38
8 Jan 2008
esr
Desaprova Java como linguagem para aprender cedo.
Revision 1.37
4 Out 2007
esr
Recomenda o Ubuntu como uma distribuição Unix para "newbies".
Revision 1.36
21 Mar 2007
esr
Adiciona uma nota sobre "live CDs" e dez anos para a mestria.
Revision 1.35
03 Aug 2006
esr
Ajustes secundários.
Revision 1.34
07 Mar 2006
esr
Remove C# da lista de linguagens que devem ser evitadas agora
que Mono não é mais beta.
Revision 1.33
29 Nov 2005
esr
Adiciona um ponteiro para o excelente ensaio de Peter Norvig.
Revision 1.32
29 Jun 2005
esr
Material novo e essencial sobre não resolver problemas duas
vezes. Resposta pra um FAQ sobre raqueação e programação
código-aberto. As três perguntas que revelam se você já é um
ráquier.
Revision 1.31
22 Mar 2005
esr
Adição de um novo link para um outro ensaio de Paul Graham, e
uma conselho para escolher o primeiro projeto. Mais atualizações
de links para traduções.
Revision 1.30
2 Mar 2005
esr
Atualização e adição de muito links para traduções.
Table of Contents
Por que este documento?
O que é um Ráquer?
A Atitude Ráquer
1. O mundo está repleto de problemas fascinantes esperando
para serem resolvidos.
2. Nenhuma problema deve ser resolvido duas vezes.
3. Tédio e trabalho repetitivo são maléficos.
4. Liberdade é bom.
5. Atitude não é substituto da competência.
Habilidades Básicas da Raqueação
1. Aprenda a programar.
2. Pegue um dos Unixes código-livre e aprenda a usá-lo e rodá-lo.
3. Aprenda como usar a Grande Teia Mundial (WWW) e escrever HTML.
4. Se você não possui Inglês funcional, aprenda.
Reputação na Cultura Ráquer
1. Escreva programas código-livre
2. Ajude a tester e depurar software código-livre
3. Publique informação útil
4. Ajude a manter a infra-estrutura funcionando
5. Sirva à cultura ráquer
A conexão entre Ráquer/Nerd
Questões sobre o Estilo
Outras Fontes de Informação
Perguntas Mais Freqüentes
Sobre a tradução para o Português do Brasil
Por que esta tradução?
"Essa tradução está péssima."
Sobre o Autor
Por que este documento?
Como editor do
Arquivo dos Jargões
Jargon File
),
e autor de alguns outros documentos de natureza similar
bastante conhecidos, eu constantemente recebo pedidos, por email, de
entusiastas iniciantes em redes perguntando (de fato) "Como eu
posso me tornar um ráquer habilidoso?". Por volta de 1996 eu
notei que parecia não haver nenhum outro FAQ ou documento na Web que
tratava dessa questão vital. Então eu comecei este aqui. Muitos
ráqueres agora o consideram definitivo e eu creio que isto significa
que ele seja. De qualquer modo eu não me declaro autoridade
exclusiva neste tópico. Se você não gostar do que ler aqui escreva o
seu próprio documento.
Se você está lendo uma cópia desconectada deste documento a
versão atual está em
Nota: existe uma lista de
Perguntas Mais
Freqüentes
Frequently Asked Questions
no final deste documento. Por favor leia-as — duas vezes
— antes de me enviar qualquer pergunta sobre o mesmo.
Inumeras traduções deste documento estão disponíveis:
Alemão
Árabe
Búlgaro
Catalano
Chinês (Simplificado)
Danish
Dutch
Estoniano
Finalandês
Grego
Hebráico
Italiano
Iraniano (Persa)
Japanonês
Norwegian
Polonês
Português (Brasileiro)
Romêno
Iraniano (Persa)
Russo
Ucraniano
Espanhol
Turco
Sueco
Lembre-se que este documento é modificado ocasionalmente e portanto
ele pode estar desatualizado em vários níveis.
O diagrama com “cinco pontos em nove quadrados”
que decora este documento é chamado de
planador
glider
). É um padrão simples com
algumas propriedades surpreendentes numa simulação matemática
chamada de
Vida
Life
) que vem fascinando ráqueres há
muitos anos. Eu acho que ele é um ótimo emblema visual para o que os
ráqueres são — abstratos, até um tanto misteriosos num
primeiro olhar, mas um portal para um mundo inteiro com uma
intrigante lógica própria. Leia mais sobre o emblema planador
aqui
O que é um Ráquer?
O Arquivo dos Jargões contém um monte de definições para o
termo ‘ráquer’
, a maioria
ligadas à proficiência técnica e deleite em resolver problemas e
ultrapassar limites. Entretanto se você quer saber como
se
tornar
um ráquer somente duas delas são realmente
relevantes.
Existe uma comunidade, uma cultura compartilhada de
programadores
mestres
peritos em redes cuja a
história remonta décadas atrás até os primeiros minicomputadores de
tempo compartilhado e os primeiros experimentos com a
ARPAnet
. Os membros dessa cultura
originaram o termo ‘ráquer’. Os ráqueres construíram a
Internet. Os ráqueres fazem do sistema operacional Unix o que ele é
hoje. Os ráqueres mantém a Usenet. Os ráqueres fazem a WWW
funcionar. Se você faz parte dessa cultura, se você contribuiu nela
e outras pessoas nela o conhecem e o chamam de ráquer, você é um
ráquer.
O espírito e mentalidade dos ráqueres não está limitado
somente a esta cultura dos ráqueres de software. Existem pessoas que
aplicam a atitude ráquer à outras coisas, como eletrônica ou música
— na verdade você pode achá-la nos mais altos níveis
intelectuais de qualquer ciência ou arte. Os ráqueres de software
reconhecem esse espírito aparentado em outros lugares e podem
chamá-los de ‘ráqueres’ também — e alguns dizem
que a natureza ráquer é de fato independente do meio particular no
qual o ráquer trabalha. Mas no resto deste documento iremos nos
concentrar nas habilidades e atitudes dos ráqueres de software, e
nas tradições da cultura compartilhada que originou o termo
‘ráquer’.
Existe um outro grupo de pessoas que aos berros se dizem
ráqueres mas não são. Estes (na maioria adolescentes do sexo
masculino) são aqueles que se divertem invadindo computadores e
fraudando o sistema telefônico. Ráqueres de fato chamam estas
pessoas de ‘cráqueres’
crackers
), e nada tem haver com
eles. Os ráqueres reais na maioria acham que cráqueres são
preguiçosos, irresponsáveis e não muito espertos, lembrando que ser
capaz de burlar a segurança irá torná-lo um ráquer tanto quanto ser
capaz de fazer ligações diretas em carros irá torná-lo um engenheiro
automotivo. Infelizmente muitos jornalistas e escritores são
enganados a usar a palavra ‘ráquer’ para descrever
cráqueres; isto irrita um ráquer de verdade deveras.
A diferença básica é: ráqueres constroem coisas, cráqueres as
destroem.
Se você quer ser um ráquer, continue lendo. Se você quer ser
um craquer, vá ler o grupo de notícias
alt.2600
e prepare-se para fazer cinco
ou dez anos na prisão depois de descobrir que você não era tão
esperto quanto pensava que era. E isso é tudo que eu vou falar sobre
cráqueres.
A Atitude Ráquer
Ráqueres resolvem problemas e criam coisas, e eles acreditam
na liberdade e na ajuda mútua voluntária. Para ser aceito como um
ráquer você deve agir como se você mesmo tivesse esse tipo de
atitude. E para se comportar como se você tivesse esse tipo de
atitude você deve de fato acreditar nela.
Mas se você pensa em cultivar as atitudes de um ráquer só para
ser aceito na cultura você irá perder a questão. Tornar-se o tipo de
pessoa que acredita nessas coisas é importante para
você
— para ajudá-lo no aprendizado e
mantê-lo motivado. Como na maioria das artes criativas o melhor modo
de se tornar um mestre é imitar o espírito e mentalidade dos mestres
— não só intelectualmente mas também emocionalmente.
Ou como o seguinte poema Zen moderno dita:
Para trilhar o caminho:
olhe para o mestre,
siga o mestre,
ande com o mestre,
olhe através do mestre,
torne-se o mestre.
Portanto se você quiser se tornar um ráquer repita as
seguintes máximas até que você acredite nelas:
1. O mundo está repleto de problemas fascinantes esperando
para serem resolvidos.
Ser um ráquer é muito divertido mas é o tipo de diversão que
exige muito esforço. O esforço exige motivação. Atletas de sucesso
conseguem motivação apartir de um tipo de prazer físico em
trabalhar seus corpos, em se esforçarem para ultrapassar seus
próprios limites físicos. Da mesma forma, para ser um ráquer, você
deve ter um ardente desejo em resolver problemas, aperfeiçoar suas
técnicas e exercitar sua inteligência.
Se você não é o tipo de pessoa que sente isso naturalmente
será preciso tornar-se uma para se fazer um ráquer. De outro modo
você irá descobrir que sua energia para a raqueação
será roubada por distrações como sexo, dinheiro e aprovação
social.
(Você também deverá desenvolver um tipo de fé na sua própria
capacidade de aprendizado — acreditar que apesar de você não
saber todo o necessário para resolver um problema se você se
concentrar em uma pequena parte dele e aprender a partir deste
ponto você irá aprender o suficiente para resolver a próxima parte
— e assim por diante, até você terminar.)
2. Nenhuma problema deve ser resolvido duas vezes.
As mentes criativas são um recurso valioso e limitado. Elas
não devem ser desperdiçadas re-inventando a roda quando existem
tantos outros novos problemas fascinantes esperando por aí a
fora.
Para agir como um ráquer você deve acreditar que o tempo de
outros ráqueres é precioso — tanto que é quase um dever
moral você compartilhar informação, resolver problemas e depois
expor as soluções, só para que outros ráqueres possam resolver
novos problemas em vez de ficar perpetuamente se preocupando com
os antigos.
Note no entanto que "Nenhum problema deve ser resolvido duas
vezes." não implica que você deve considerar todas as soluções
existentes sagradas ou que exista somente uma solução para um dado
problema. É comum nós aprendermos muito sobre um problema que nós
não conhecíamos antes estudando inicialmente em uma solução. Tudo
bem, e geralmente necessário, decidir que nós podemos fazer
melhor. O que não é tudo bem são barreiras tecnológicas, legais,
institucionais ou artificiais (como código-fonte fechado) que
previne uma boa solução de ser reutilizada e
força
as pessoas a reinventarem rodas.
(Você não precisa acreditar que é obrigatório dar e expor
todo seu produto criativo, muito embora os ráqueres que o fazem
são os mais respeitados por outros ráqueres. É algo consistente
com os valores ráquer vender o suficiente do seu trabalho para
conseguir comida, aluguel e computadores. Tudo bem se você
utilizar suas habilidades ráquer para criar uma família ou até
ficar rico, desde que você não esqueça sua lealdade a sua arte e
aos seus amigos ráqueres ao fazê-lo.)
3. Tédio e trabalho repetitivo são maléficos.
Os ráqueres (e pessoas criativas em geral) nunca devem se
entediar ou fatigar-se com trabalho repetitivo estúpido porque
quando isso acontece significa que eles não estão fazendo o que
somente eles podem fazer — resolver novos (e interessantes)
problemas. Este desperdício machuca todo mundo. Desse modo tédio e
trabalho penoso não são somente desagradáveis mas na verdade
maléficos.
Para agir como um ráquer você deve acreditar nisso o
suficiente para querer automatizar as partes chatas o máximo
possível, não só para você mas para outros também (especialmente
outros ráqueres).
(Existe uma exceção aparente nisso. Os ráqueres as vezes
irão fazer coisas que podem parecer repetitivas ou chatas para um
observador, como um exercício de limpeza mental, ou como forma de
adquirir uma habilidade ou passar por uma experiência em
particular que seria impossível adquirir ou fazer de outro
modo. Mas isso é uma opção — nenhum ser pensante deve ser
forçado a uma situação que o deixe entediado.)
4. Liberdade é bom.
Ráqueres são naturalmente anti-autoritários. Qualquer um que
possa lhe dar ordens poderá impedi-lo de solucionar qualquer
problema que você esteja fascinado — e dado o modo que as
mentes autoritárias trabalham elas geralmente irão encontrar uma
razão terrivelmente estúpida para isso. Portanto a atitude
autoritária deve ser combatida aonde quer que você a encontre,
para que ela não oprima você e outros ráqueres.
(Isto não é o mesmo que combater toda autoridade. Crianças
devem ser educadas e criminosos contidos. Um ráquer pode concordar
em aceitar alguns tipos de autoridade para conseguir alguma coisa
que ele deseja mais do que o tempo que ele gasta seguindo
ordens. Mas esta é uma barganha limitada e consciente; o tipo de
rendição que os autoritários desejam não está em oferta).
Autoritários prosperam na censura e no segredo. E eles
desconfiam da cooperação voluntária e troca de informações —
eles apreciam somente a ‘cooperação‘ que eles
controlam. Dessa forma, para agir como um ráquer, você deve
desenvolver uma hostilidade instintiva à censura, ao segredo, e ao
uso da força ou fraude para compelir adultos responsáveis. Você
deve estar de acordo a agir nessa crença.
5. Atitude não é substituto da competência.
Para ser um ráquer você deve desenvolver todas estas
atitudes. Mas somente copiar uma atitude não irá torná-lo um
ráquer, assim como não irá torná-lo um atleta campeão ou uma
estrela do rock. Tornar-se um ráquer vai tomar inteligência,
prática, dedicação e trabalho árduo.
Conseqüêntemente você precisa aprender a desconfiar de
atitudes e respeitar todo tipo de competência. Os ráqueres não
irão deixar pessoas que posam desperdiçar o seu tempo mas irão
apreciar competência — especialmente competência na
raqueação; mas competência em qualquer coisa é
valorizada. Competência em habilidades exigentes que poucos
conseguem dominar é especialmente bom, e competência em
habilidades exigentes que envolvem agudez mental, perícia e
concentração é ótimo.
Se você respeita competência você irá apreciar desenvolvê-la
em você mesmo — o trabalho árduo e dedicação irá se tornar
uma espécie de jogo intenso e divertido, ao invés de trabalho
penoso. Essa atitude é vital para se tornar um ráquer.
Habilidades Básicas da Raqueação
A atitude ráquer é vital, mas as habilidades são ainda
mais. Atitude não substitui a competência, e existe um certo
conjunto de habilidades as quais você deve ter antes que qualquer
ráquer venha a sonhar em chamá-lo de um.
Este conjunto se modifica vagarosamente de tempos em tempos
assim como a tecnologia cria novas técnicas e tornam as velhas
obsoletas. Por exemplo, costumava-se incluir programação em
linguagem de máquina e até recentemente HTML não estava
incluído. Mas agora está bem claro que se incluem as seguintes
habilidades:
1. Aprenda a programar.
Esta, claro, é a habilidade fundamental da raqueação. Se
você não sabe nenhuma linguagem de programação eu recomendo
começar com Python. Ela é projetada de forma clara, bem
documentada, e relativamente amigável com iniciantes. Apesar de
ser uma ótima primeira linguagem ela não é somente um brinquedo;
ela é muito poderosa, flexível e muito conveniente para grandes
projetos. Eu escrevi uma
avaliação sobre Python
mais detalhada. Bons
tutoriais
estão disponíveis no
sítio na web do Python
Eu cosumava recomendar Java como uma boa linguagem para
aprender cedo mas
esta crítica
mudou minha opinião (procure nela por "As Armadilhas de Java como
Primeira Linguagem de Programação" — "
The
Pitfalls of Java as a First Programming
Language
"). Um ráquer não pode, como eles
devastadoramente colocam "abordar resolução de problemas como um
encanador em uma loja de ferramentas"; você deve saber o que os
componentes de fato
fazem
. Agora eu acho que é
provavelmente é melhor aprender C e Lisp primeiro, depois Java.
Se você se envolver com programação séria você vai precisar
aprender C, a linguagem central do Unix. C++ está muito ligada a C;
se você conhece uma conhecer a outra não vai ser difícil. Todavia
nenhuma das duas é uma boa opção para começar a aprender. E, na
realidade, quanto mais você evitar programar em C mais produtivo
você será.
C é muito eficiente e muito econômica com os recursos da
maquina. Infelizmente C consegue essa eficiência e economia exigindo
que você faça um monte de gerenciamento de baixo nível nos seus
recursos (como memória) à mão. Todo esse código baixo nível é
complexo e suscetível a erros, e irá sugar um montante imenso do seu
tempo com depuração. Com as máquinas atuais, tão poderosas como elas
são, essa é uma troca ruim — é mais inteligente utilizar uma
linguagem que utilize o tempo de máquina ineficientemente, mas que
utiliza o seu tempo eficientemente. Deste modo, Python.
Outras linguagens de importância particular para os ráqueres
são Perl e LISP. É válido aprender Perl por razões práticas; ela é
muito usada para páginas da web ativas e sistemas de administração;
portanto mesmo que você nunca escreva nada em Perl você deve pelo
menos ler Perl. Muitas pessoas utilizam Perl do modo como eu sugeri
que você utilizasse Python, para evitar programação em C onde não é
necessário total eficiência da máquina. Você vai precisar entender o
código deles.
Vale a pena aprender LISP por outro motivo — a profunda
e esclarecedora experiência que você vai ganhar quando finalmente
você entender LISP. Esta experiência vai torná-lo um melhor
programador para o resto de sua vida, mesmo que você não utilize
muito LISP por si só. (Você pode ter alguma experiência
introdutória com LISP modificando e editando modos para o editor de
texto Emacs, ou
plugins
do Script-Fu
para o GIMP.)
O melhor, na realidade, é aprender as cinco: Python, Java,
C/C++, Perl, e LISP. Além do fato de serem as mais importantes
linguagens da raqueação, elas representam abordagem muito diferentes
da programação e cada uma irá educá-lo de formas valorosas.
Mas fique avisado que você não vai alcançar o nível de
habilidade de um ráquer ou nem mesmo de um mero programador
simplesmente acumulando linguagens — você precisa aprender a
pensar sobre problemas de programação de uma forma geral
independente de qualquer linguagem. Para se tornar um ráquer de
verdade você precisa chegar ao ponto de ser capaz de aprender uma
nova linguagem em alguns dias relacionando o que está no manual com
o que você já sabe. Isto significa aprender diversas linguagens
diferentes.
Eu não posso dar instruções completas de como aprender a
programar aqui — é uma habilidade complexa. Mas eu posso dizer
que livros e cursos não serão suficientes — muitos, talvez
quase
todos
dos melhores ráqueres são
autodidatas. Você pode aprender as características de uma linguagem
— pedaços de conhecimento — dos livros, mas o espírito e
mentalidade que irá tornar todo esse conhecimento em uma habilidade
viva só pode ser adquirida pela prática e aprendizagem. O que você
irá precisar fazer é (a)
ler código
e (b)
escrever código
Peter Norvig, um dos melhores ráqueres do Google e co-autor do
manual mais utilizado em IA, escreveu um ensaio excelente chamado
"Teach Yourself Programming in Ten Years". Sua "receita para o
sucesso na programação" vale uma atenção cuidadosa.
Aprender a programar é como aprender a escrever bem uma
linguagem natural. O melhor jeito é ler algum material escrito pelos
mestres da arte e escrever algumas coisas você mesmo; ler um pouco
mais, escrever um pouquinho mais, ler mais um pouco, escrever mais
um tanto ... e repetir até que seus escritos estejam começando a
desenvolver a força e economia que você encontra em seus
modelos.
Achar código bom para ler costumava ser difícil por que
haviam poucos programas grandes com o código fonte disponível para
os ráqueres novatos brincarem e remendarem. Isto mudou de forma
dramática; programas código-livre, ferramentas para programação e
sistemas operacionais (todos feitos por ráqueres) estão agora
largamente disponíveis. O que me leva claramente para o nosso
próximo tópico...
2. Pegue um dos Unixes código-livre e aprenda a usá-lo e rodá-lo.
Estou assumindo que você possui um computador pessoal ou
pode ter acesso a um. (Pare um momento para apreciar o quanto isso
significa. A cultura ráquer originalmente se desenvolveu quando
computadores eram tão caros que indivíduos não podiam comprá-los.)
O passo mais importante e decisivo que um **novato** pode tomar no
caminho para adquirir habilidades ráquer é conseguir uma cópia do
Linux, ou de algum dos Unixes-BSD, ou OpenSolaris, instalá-la numa
máquina pessoal e rodá-la.
Sim, existem outros sistemas operacionais no mundo fora o
Unix. Mas eles são distribuídos em binário — você não pode
ler o código e você não pode modificá-lo. Tentar aprender a
raquear numa máquina com o Microsoft Windows ou qualquer outro
sistema código-fechado é como aprender a dançar com o corpo
engessado.
Com o OS/X é possível mas somente parte do sistema é código-livre
— você provavelmente irá se deparar com um monte de muralhas e você
deve ter cuidado para não desenvolver o mal hábito de depender do código
proprietário da Apple. Se você se concentrar no Unix por debaixo da
capa
você pode aprender alguma coisa útil.
O Unix é o sistema operacional da Internet. Enquanto você
pode aprender a utilizar a Internet sem conhecer o Unix não dá
para ser um ráquer da Internet sem entender o Unix. É por essa
razão que a cultura ráquer é um tanto quanto centrada no
Unix. (Isso nem sempre foi verdade e alguns ráqueres da
velha-guarda ainda não estão felizes com isso, mas a simbiose
entre o Unix e a Internet se tornou forte o suficiente que nem
mesmo os músculos da Microsoft são capazes de danificá-la
seriamente.)
Então consiga um Unix — eu mesmo gosto do Linux, mas
existem outras opções (e sim, você pode rodar ambos Linux e
Microsoft Windows na mesma máquina).
Aprenda-o. Rode-o. Emende-o. Fale com a Internet com ele. Leia o
código. Modifique o código. Você vai conseguir os melhores
utilitários para programação (incluindo C, LISP, Python, e Perl)
do que qualquer sistema operacional da Microsoft nem mesmo sonha
em ter. Você vai se divertir e você vai sugar mais conhecimento do
que se dá conta que está aprendendo, até olhar para trás como um
mestre ráquer.
Para mais no apredizado do Unix veja
The Loginataka
(O Loginataka).
Você pode também querer dar uma olhada no
The Art Of Unix Programming
(A Arte Da Programação Unix).
Para por as mãos no Linux veja o sítio
Linux Online!
você pode fazer o download de lá ou (ainda melhor) encontrar algum
grupo de usuários do Linux para ajudá-lo com a instalação.
Durante os primeiros dez anos de vida desse howto eu relatei
que do ponto de vista de um usuário novato todas as distribuições
são quase equivalentes. Mas em 2006-2007 uma opção melhor
apareceu:
Ubuntu
. Enquanto
outras distribuições tem as suas áreas de força a Ubuntu é de
longe a mais acessível para novatos Linux.
Você pode achar ajuda e fontes do Unix BSD no
www.bsd.org
Uma boa maneira de sentir o gostinho
é carregar o que os fãs do Linux chamam de
live CD
, uma distribuição
que roda diretamente de um CD sem precisar modificar o seu disco
rígido. Isso vai ser lento, por que CDs são lentos, mas é uma
forma de dar uma olhada nas possibildiade sem ter que fazer
qualquer coisa drástica.
E escrevi um manual para iniciantes no
basics of Unix and the Internet
(Fundamentos do Unix e da Internet).
Eu costumava não recomendar a instalação tanto do Linux
quanto do BSD como um projeto solo se você for um novato. Os
instaladores se tornaram bons o suficiente que hoje em dia é
possível você mesmo fazer todo o processo, mesmo para um
novato. De qualquer modo eu ainda recomendo entrar em contato com
seu grupo de usuários Linux local e pedir ajuda. Não vai doer nada
e pode facilitar o processo.
3. Aprenda como usar a Grande Teia Mundial (WWW) e escrever HTML.
A maioria das coisas que a cultura ráquer construiu faz o
seu trabalho as escondidas, ajudando a rodar fábricas, escritórios
e universidades sem nenhum impacto óbvio na vida dos
não-ráqueres. A Web é a grande exceção, o grandioso e ilustre
brinquedo ráquer que até
políticos
admitem
estar mudando o mundo. Por essa razão (e muitas outras boas razões
também) você precisa aprender a trabalhar com a WWW.
Isto não significa somente aprender a mexer num navegador
(qualquer um pode fazer isso), mas aprender como escrever HTML, a
linguagem de marcação da Web. Se você não sabe como programar
escrever HTML irá ensiná-lo alguns hábitos mentais que irão
ajudá-lo a aprender. Então construa uma home page. Tente aderir ao
XHTML que é uma linguagem mais clara que o clássico HTML.
(Existem bons tutoriais para iniciantes na Web;
aqui
está um.)
Mas somente ter uma home page nem é algo bom o bastante para
fazê-lo um ráquer. A Web está cheia de home pages. A maioria delas
são sem propósito, lixos sem conteúdo — lixos enfeitados, se
você se importa, mas lixos da mesma forma (para mais detalhes veja
The HTML Hell Page
).
Para valer a pena sua página deve ter
conteúdo
— ela deve ser interessante
e/ou útil para outros ráqueres. E isso nos leva diretamente para o
próximo tópico...
4. Se você não possui Inglês funcional, aprenda.
Como um americano, e falante nativo da língua inglesa, eu
anteriormente vinha relutando em sugerir isso, para que não fosse
entendido como uma forma de imperialismo cultural. Mas diversos
falantes de outras línguas me encorajaram a apontar o inglês como
a língua de trabalho da cultura ráquer e da Internet. E você vai
precisar aprendê-la para agir na comunidade ráquer.
Por volta aos 1991 eu aprendi que muitos ráqueres que tinham
o inglês como segunda língua a utilizavam em discussões técnicas
mesmo quando eles possuíam a mesma língua nativa; me foi reportado
na época que o Inglês tinha um vocabulário técnico mais rico que
qualquer outra língua e portanto era apenas uma melhor ferramenta
para o trabalho. Por razões similares, traduções de materiais
técnicos escritos em inglês são comumente insatisfatórios (quando
estas são terminadas por completo).
Linus Torvalds, um finlandês, comenta seu código em Inglês
(e aparentemente nunca lhe ocorreu de fazer diferente). Sua
fluência em inglês tem sido um fator importante na sua habilidade
de recrutar um comunidade mundial de desenvolvedores para o Linux.
É um exemplo que vale a pena seguir.
Ter o Inglês como língua nativa não garante que você tenha
habilidade suficiente para trabalhar como um ráquer. Se os seus
escritos são semi-literários, antigramaticais, crivado de erros
ortográficos, muitos ráqueres (incluindo eu mesmo) irão
ignorá-lo. Enquanto escritores piegas não necessariamente implicam
pensadores piegas nós geralmente achamos a correlação forte
— e não vemos utilidade em pensadores piegas. Se você não
tem competência na escrita, aprenda.
Reputação na Cultura Ráquer
Como na maioria das culturas sem uma economia monetária a dos
ráqueres trabalha baseada na reputação. Você está tentando resolver
problemas interessantes mas quão interessantes eles são e o quanto
suas soluções são realmente boas é algo que somente seus colegas
técnicos ou superiores são normalmente capazes de julgar.
Conseqüentemente quando você joga o jogo ráquer você aprende a
ganhar pontos, antes de mais nada, apartir do que outros ráqueres
acham de suas habilidades (por isso você nunca vai ser um ráquer até
que consistentemente outros ráqueres o chame de um). Esse fato é
obscurecido pela imagem que a raqueação tem de ser um trabalho
solitário; também por um tabu cultural ráquer (agora decaindo
gradualmente desde a década de 90, mas ainda potente) em admitir que
o ego, ou reconhecimento, está envolvido na motivação de alguém no
final das contas.
Especificamente, a cultura ráquer é algo que os
antropologistas chamam de
cultura de
doação
. Você ganha posicionamento e reputação nela não
dominando outras pessoas, nem sendo bonito, nem tendo coisas que as
pessoas querem, mas especialmente dando coisas aos
outros. Especificamente dando aos outros seu tempo, sua criatividade
e os resultados de suas habilidades.
Existem basicamente cinco coisas que você pode fazer para ser
respeitado por ráqueres:
1. Escreva programas código-livre
A primeira (e a mais central e tradicional delas) é escrever
programas que outros ráqueres achem divertidos ou úteis e dar o
código fonte para que toda a cultura ráquer possa usar.
(Nos costumávamos chamar estes trabalhos de “software
livre”, mas este termo confunde muitas pessoas que não estão
certas exatamente do significado da palavra “livre”. A
maioria de nós, pelo menos na taxa de 5:1, de acordo com analise
do conteúdo da web, agora prefere o termo programa “
código-livre
”).
Os mais reverenciados ídolos da cultura ráquer são pessoas
que escreveram programas grandes, competentes, que solucionam uma
necessidade comum e os distribuíram para que todos pudessem
usar.
Mas existe um ponto histórico interessante aqui. Enquanto os
ráqueres sempre olharam para os desenvolvedores de código-livre
entre eles como sendo nosso núcleo mais sólido antes da metade dos
1990 a maioria a maior parte dos ráqueres, na maior parte do
tempo, trabalhavam em código-proprietário. Isso ainda era verdade
quando eu escrevi a primeira versão desse HOWTO em 1996; as coisa
só foram mudar quando a idéia de código-livre se tornou conhecida
pelo público geral depois de 1997. Hoje "a comunidade ráquer" e
"os desenvolvedores código-livre" são duas descrições para o que
essencialmente são a mesma cultura e população — mas vale
lembrar que nem sempre foi desse modo.
2. Ajude a tester e depurar software código-livre
Nesse mundo imperfeito, nós iremos inevitavelmente gastar a
maioria do nosso tempo de desenvolvimento na fase de depuração. É
por isso que um autor de código-livre que pensa irá dizer que bons
avaliadores-beta (aqueles que sabem descrever de forma clara os
sintomas, localizar problemas, podem tolerar erros em uma versão
de ultima hora e estão loucos para aplicar pequenas rotinas de
diagnóstico) tem seu valor avaliado em rubis. Até um só desses
pode fazer a diferença entre as fases de depuração que são
prolongadas, um pesadelo exaustivo, ou as que são apenas uma mera
e saudável chateação.
Se você é um novato tente achar algum programa em
desenvolvimento no qual você esteja interessado e seja um bom
avaliador-beta. Existe uma progressão natural em ajudar programas
em teste, ajudar a depurar programas em teste para ajudar a
modificá-los. Você vai aprender muito dessa maneira e irá gerar
um bom karma com pessoas que irão ajudá-lo mais tarde.
3. Publique informação útil
Outra coisa boa é coletar e filtrar informação útil e
interessante em páginas da web, ou documentos, em forma de lista
de Perguntas Mais Freqüêntes (FAQ), e deixá-los
disponíveis.
Mantenedores dos maiores FAQs técnicos conseguem tanto
respeito quanto um autor de código-livre.
4. Ajude a manter a infra-estrutura funcionando
A cultura ráquer (e o desenvolvimento de engenharia da
Internet) é mantida por voluntários. Existe uma grande variedade
de trabalho sem
glamour
, mas necessário, e
que deve ser feito para manter tudo em ordem — administrar
listas de email, moderar grupos de notícias, manter um grande site
de arquivos de programas, desenvolver RFCs e outros padrões
técnicos.
Pessoas que fazem esse tipo de coisa ganham muito respeito,
porque todos sabem que esses trabalhos são um imenso consumo de
tempo, e nada divertido quanto brincar com códigos. Fazer esse
tipo de coisa demonstra dedicação.
5. Sirva à cultura ráquer
Finalmente, você pode servir e propagar a cultura por si só
(por exemplo escrevendo um guia acurado de como se tornar um
ráquer :-)). Isto é algo que você só terá posicionamento para
fazer depois de ficar algum tempo na área, e se tornar bem
conhecido por alguma das quatro primeiras coisas acima.
A cultura ráquer não possui líderes exatamente, mas possui
heróis, “chefes tribais”, historiadores e
porta-vozes. Quando você já estiver pelas trincheiras por tempo
suficiente, você pode se tornar um desses. Tome cuidado: ráqueres
desconfiam de egos arrogantes em seus “anciões
tribais”. Portanto buscar visivelmente por este tipo de fama
é perigoso. Em vez de buscá-la, você meio que se posicionar e
esperar para que então ela caia sobre seu colo, e aí então seja
modesto e gracioso com a sua posição.
A conexão entre Ráquer/Nerd
Ao contrário do mito popular você não precisa ser um nerd para
se tornar um ráquer. Contudo isso ajuda, e muitos ráqueres são de
fato nerds. Ser um pária social ajuda você a se manter concentrado
no que realmente importa, como pensar e raquear.
Por esta razão muitos ráqueres adotaram o rótulo
‘geek’ como uma insígnia de orgulho — é uma forma
de declarar independência das expectativas normais da sociedade
(assim como apreciação por outras coisas como ficção científica ou
jogos de estratégia que geralmente fazem parte de ser um ráquer). O
termo ‘nerd’ costumava ser usado para esse fim
antigamente em 1990, quando ‘nerd’ era um mero
pejorativo e ‘geek’ um pouco mais agressivo, e até
existe hoje uma cultura orgulhosa em ser geek entre pessoas não
ligadas a tecnologia.
Se você dá conta de se concentrar o suficiente para o raquear,
ser bom nisso e ainda ter uma vida, está tudo bem. Isto é muito mais
fácil do que era por volta dos 1970; a cultura social é muito mais
amigável a tecno-nerds hoje em dia. Até dxistem um número crescente
de pessoas percebendo que ráqueres são geralmente amantes de alta
qualidade e ótimos maridos/esposas.
Se você foi atraído para a raqueação pelo fato de você não ter
uma vida, está tudo bem também — pelo menos você não irá ter
problemas em se concentrar. Talvez você consiga uma vida mais
tarde.
Questões sobre o Estilo
Novamente, para se tornar um ráquer, você deve penetrar na
forma de pensar e agir um ráquer. Existem algumas coisas que você
pode fazer quando você não está no computador que parecem
ajudar. Elas não são substituições para a raqueação (nada realmente
é) mas muitos ráqueres as fazem e acham que elas estão conectadas de
alguma forma básica com a essência da raqueação.
Aprenda a escrever bem a sua língua nativa. Embora seja um
esteriótipo comum que programadores não sabem escrever um número
surpreendente de ráqueres (incluindo os mais completos que eu
conheço) são escritores muito habéis.
Leia ficção científica. Apresente-se em convenções de
ficção científica (um bom modo de encontrar ráqueres e
proto-ráqueres).
Pratique artes marciais. O tipo de disciplina mental que
as artes marciais necessitam parece ser muito similar de várias
formas importantes com o que ráqueres fazem. As formas mais
populares entre ráqueres sem dúvida são as artes asiáticas de
luta a mão como Tae Kwon Do, Karate, Wing Chun, Aikido, ou Jiu
Jitsu. A esgrima ocidental e as artes asiáticas com a espada
também possuem seguidores visíveis. Em lugares onde é legal, o
tiro com a pistola tem ganhado popularidade desde 1990. As artes
mais raquerianas são aquelas que efatizam na disciplina mental,
relaxamento e controle, acima do interesse na força, atletismo
ou capacidade física.
Estude um disciplina de meditação. A mais favorita e
perene entre os ráqueres é o Zen (importante: é possível
usufruir dos benefícios do Zen sem adquirir alguma religião ou
descartar qualquer uma que você possui). Outros estilos podem
funcionar da mesma forma, mas seja cuidadoso para escolher
alguma que não necessite a crença em coisas malucas.
Desenvolva uma apuração análitica para a música. Aprenda a
apreciar tipos peculiares de música. Aprenda a tocar bem algum
instrumento, ou a cantar bem.
Desenvolva sua apreciação por advinhações e
trocadilhos.
Quanto mais dessas coisas você já pratica mais você
naturalmente possui o biotipo ráquer. Por que estas coisas em
particular não é completamente claro, mas elas estão conectadas com
o misto das habilidades dos lados esquerdo e direito do cérebro que
parece ser importante; ráqueres precisam ser passíveis tanto da
razão lógica quanto da possibilidade repentina de pisar fora da
lógica aparente de um problema.
Trabalhe tão intensamente quanto você brinca, e brinque tanto
quanto você trabalha. Para verdadeiros ráqueres os limites entre
"jogar", "trabalhar", "ciência" e "arte" tendem a desaparecer, ou
imergir para um nível elevado de criatividade. Também não fique
contente com uma pequena lista de habilidades. Apesar de ráqueres
serem identificados como programadores eles são facilmente
competentes em várias outras habilidades — administração de
sistemas, projetista da web e técnico de hardware são comuns. Um
ráquer que é um administrador de sistema, por outro lado, pode ser
bem habilidoso em programação em script e projetismo para
web. Ráqueres não fazem as coisas pela metade; se eles investem em
uma habilidade eles tendem a ficar muito bons nela.
Finalmente algumas coisas para
não
fazer.
Não use nomes de usuário, ou IDs, grandiosos ou
infantis.
Não entre em guerrinhas na Usenet (ou em qualquer
outro lugar).
Não se chame de ‘cyberpunk’, e não
perca tempo com qualquer um que o faça.
Não envie email com o texto cheio de erros de
gramática e ortografia.
A única reputação que você irá conseguir fazendo alguma dessas
coisas é a de um
twit
Ráqueres tem boa memória — pode levar anos até
que você se reabilite o suficiente para ser aceito.
O problema com pseudônimos e nicks merecem uma amplificação.
Ocultar sua identidade atrás de um pseudônimo é uma atitude infantil
e boba, característica de craqueres,
warez
d00dz
, e outras formas de vida inferiores. Ráqueres
não fazem esse tipo de coisa: eles são orgulhosos do que são e
querem tudo isso ligado aos seus nomes reais. Então se você tem um
pseudônimo largue-o. Na cultura ráquer ele irá somente marcá-lo como
um perdedor.
Outras Fontes de Informação
Paul Graham escreveu um ensaio chamado
Great Hackers
(Grandes Ráqueres), e um outro sobre
Undergraduation
(Graduação) nos quais ele fala com muita sabedoria.
Existe um documento chamado
How To Be A Programmer
(Como Se Tornar Um Programador) que é um excelente complemento a este
aqui. Ele possui conselhos valorosos não somente a respeito de
codificação ou habilidades, mas sobre como agir em uma equipe de
programadores.
Eu também escrevi
A Brief History Of Hackerdom
(Uma Breve História da Cultura Ráquer).
Eu escrevi um documento,
The Cathedral and the Bazaar
(A Catedral e o Bazar), que explica muito sobre como o Linux e a
cultura código-livre funciona. Eu enderecei esse tópico de forma mais
direta na sua seqüência
Homesteading the Noosphere
Rick Moen escreveu um documento excelente
how to run
a Linux user group
(como rodar um Grupo de Usuários Linux).
Rick Moen e eu colaboramos em um outro documento
How To Ask Smart Questions
(Como Fazer Questões Inteligentes).
Ele irá ajudá-lo a encontrar assistência de tal forma que você
provavelmente irá consegui-la.
Se você precisa de ajuda para entender como os computadores pessoais,
o Unix e a Internet funcionam veja
The Unix and Internet Fundamentals HOWTO
(Os Fundamentos da Internet e do Unix).
Quando você lançar programas ou escrever correções
tente seguir o guia
Software Release Practice HOWTO
(COMOFAZER Prática de Lançamento de Software).
Se você gostou do poema Zen talvez você goste do
Rootless Root: The Unix Koans of Master Foo
Perguntas Mais Freqüentes
Q:
Você irá me ensinar a raquear?
Q:
Como eu começo então?
Q:
Quando você deve começar? É muito tarde para eu poder aprender?
Q:
Quanto tempo vai levar para eu aprender a raquear?
Q:
Visual Basic ou C# são boas linguagens para começar?
Q:
Você me ajudaria a craquear um sistema, ou me ensinar a craquear?
Q:
Como eu pego a senha da conta de alguém?
Q:
Como eu entro/leio/invado/monitoro a conta de email de alguém?
Q:
Como eu posso roubar privilégios de um op em algum canal no IRC?
Q:
Eu fui craqueado. Você poderia me ajudar a evitar ataques futuros?
Q:
Eu estou tendo problema com o meu software Windows. Você vai me ajudar?
Q:
Onde eu posso encontrar ráqueres de verdade para conversar?
Q:
Você pode me recomendar livros úteis sobre assuntos relacionados a raqueação?
Q:
Eu preciso ser bom em matemática para me tornar um ráquer?
Q:
Qual a linguagem que eu devo aprender primeiro?
Q:
Que tipo de hardware eu preciso?
Q:
Eu quero contribuir. Você me ajuda a encontrar um problema para trabalhar?
Q:
Eu preciso odiar e xingar a Microsoft?
Q:
Mas software código-livre não vai deixar programadores sem
meios de se sustentar?
Q:
Como eu posso começar? Onde eu consigo um Unix livre?
Q:
Você irá me ensinar a raquear?
A:
Desde a primeira vez que eu escrevi esta página, eu
tenho recebido muitos pedidos por semana (e freqüentemente por
dia) de pessoas pedindo "me ensine tudo sobre como raquear".
Infelizmente eu não tenho tempo e energia para fazer isso;
meus próprios projetos ráquer, e minas viagens como advogado
do código-livre toma 110% do meu tempo.
Mesmo se eu pudesse, raquear é uma atitude e um
habilidade que basicamente você tera que ensinar à você
mesmo. Você vai notar que enquanto ráqueres reais querem
ajudá-lo eles não irão respeitá-lo se você implorar para
receber tudo o que eles sabem de bandeja.
Aprenda algumas coisas. Mostre que você é capaz de
aprender sozinho. Depois vá até um ráquer com questões
específicas.
Se você vai mandar um email perguntando um conselho,
aqui vão duas coisas que você deve saber logo de cara.
Primeiro, nós descobrimos que pessoas preguiçosas ou
descuidadas no seu modo de escrever são geralmente muito
preguiçosas e descuidadas no seu modo de pensar para se
tornarem bons ráqueres — então tome cuidado com a
sintaxe, e utilize boa gramática e pontuação, ou então você
será provavelmente ignorado. Segundo, não implore pedindo para
responder para um ISP diferente da conta que você enviou seu
email; nós achamos que pessoas que fazem esse tipo de coisa
geralmente são ladrões utilizando contas roubadas, e não temos
interesse em recompensar ou assistir ladrões.
Q:
Como eu começo então?
A:
A melhor forma de começar então provavelmente seria ir para
uma reunião de um LUG (Linux User Group - Grupo de Usuários do
Linux). Você pode encontrar esse tipo de grupo no
Página de informações gerais sobre
Linux do LDP
LDP General Linux
Information Page
); provavelmente existe um perto de você,
possivelmente associado a uma faculdade ou universidade. Se você
pedir, membros de um LUG provavelmente irão lhe dar uma copia
do Linux, e certamente irão ajudá-lo a instalar e começar.
Q:
Quando você deve começar? É muito tarde para eu poder aprender?
A:
Qualquer idade na qual você esteja motivado é uma boa idade para começar.
A maioria das pessoas começam a ficar interessadas entre os 15 e 20 anos, mas
eu conheço exceções em ambas as direções.
Q:
Quanto tempo vai levar para eu aprender a raquear?
A:
Isso vai depender de quão talentoso você é e de quanto você vai
se dedicar na tarefa. A maioria das pessoas podem conseguir adquirir
habilidades respeitáveis de dezoito meses à dois anos, se elas se
concentrarem. Mas não se engane em achar que termina por aí; se você
for um ráquer verdadeiro você irá gastar o resto de sua vida aprendendo
a aperfeiçoar sua arte.
Q:
Visual Basic ou C# são boas linguagens para começar?
A:
Se você está fazendo essa pergunta está quase absolutamente claro
que você está pensando em raquear no Microsoft Windows. Por si só esta
é uma má idéia. Quando eu comparei tentar raquear no Windows com tentar
dançar com o corpo engessado eu não estava brincando. Não vá para lá.
É tudo muito feio, e nunca irá deixar de ser.
Existem problemas específicos com Visual Basic e C#; basicamente
elas não são portáveis. Embora existam protótipos de implementações em
código-livre dessas linguagens, os padrões ECMA (
European
Computer Manufacturers Association
- Associação Européia
de Manufatores de Computadores) aplicavéis não cobrem mais do que uma
pequena parte de suas interfaces de programação. No Windows a maioria dos
suportes a bibliotecas são propriedades de um único fornecedor (Microsoft);
se você não for extremamente cauteloso quanto quais ferramentas utilizar —
mais cuidadoso do que qualquer novato é capaz de ser — você irá
limitar-se somente as plataformas que a Microsoft desejar suportar. Se você
começar no Unix, muitas outras melhores linguagens, com bibliotecas melhores,
estão disponíveis
Visual Basic é especialmente terrível. Como os outros BASICS ela é
extremamente mal projetada e irá lhe ensinar péssimos hábitos de programação.
Não, não me peça para explicá-los em detalhes. Tal explicação encheria um livro.
Aprenda um linguagem bem projetada no lugar disso.
Um desses maus hábitos é tornar-se dependente de bibliotecas, ferramentas
e ambientes de desenvolvimento de um único fornecedor. Em geral qualquer
linguagem que não tenha suporte completo no mínimo no Linux, ou em um dos BSDs,
e/ou no mínimo três sistemas operacionais, de fornecedores diferentes, é uma
linguagem pobre para se aprender a raquear.
Q:
Você me ajudaria a craquear um sistema, ou me ensinar a craquear?
A:
Não. Qualquer um que ainda pode levantar esse tipo
de questão depois de ter lido este FAQ é muito estupido
para ser educado mesmo se eu tivesse tempo para ensinar.
Qualquer pedido desse tipo recebido será ignorado ou
será respondido com total ignorância.
Q:
Como eu pego a senha da conta de alguém?
A:
Isto é craquear. Caia fora, idiota.
Q:
Como eu entro/leio/invado/monitoro a conta de email de alguém?
A:
Isto é craquear. Saia daqui, retardado.
Q:
Como eu posso roubar privilégios de um op em algum canal no IRC?
A:
Isto é craquear. Fuja daqui, cretino.
Q:
Eu fui craqueado. Você poderia me ajudar a evitar ataques futuros?
A:
Não. Sempre que me é feita essa pergunta é de algum pobre coitado
rodando o Microsoft Windows. Não é possível garantir segurança efetiva
contra ataques de craqueres em sistemas Windows; o código e a arquitetura
simplesmente possuem muitas falhas, o que torna a segurança no Windows algo
como tentar remar um barco com uma peneira. A única prevenção segura é migrar
para o Linux ou qualquer outro sistema operacional que foi projetado para
no mínimo ser passível de segurança.
Q:
Eu estou tendo problema com o meu software Windows. Você vai me ajudar?
A:
Sim. Vá para um prompt do DOS e digite "format c:". Qualquer problema
que você esteja experimentando irá acabar em alguns minutos.
Q:
Onde eu posso encontrar ráqueres de verdade para conversar?
A:
A melhor forma é encontrar um grupo de usuários do linux ou Unix perto
de você e ir para seus encontros (você pode achar links para diversas listas
de grupos de usuários na página do
LDP
Linux Documentation Project
- Projeto de
Documentação do Linux), no ibiblio.
(Eu costumava dizer que você não encontraria nenhum ráquer de verdade no IRC,
mas eu estou começando a entender que isso está mudando. Aparentemente algumas
comunidades de ráqueres verdadeiros, ligados a coisas como GIMP e Perl, possuem
canais no IRC agora)
Q:
Você pode me recomendar livros úteis sobre assuntos relacionados a raqueação?
A:
Eu mantenho um
COMOFAZER Lista de Leitura para Linux
Linux Reading List HOWTO
) que você pode achar interessante. O
Loginataka
também pode ser útil.
Para uma introdução ao Python, dê uma olhada nos
materiais introdutórios
(inglês) no site do Python.
Q:
Eu preciso ser bom em matemática para me tornar um ráquer?
A:
Não. O raquear utiliza quase nenhuma matemática formal ou aritmética.
Em particular você não vai precisar de trigonometria, cálculo ou análise
(existem exceções no tratamento de aplicativos de áreas específicas, como
computação gráfica). Conhecer alguma lógica formal e álgebra Booleana é bom.
Alguma base em matemática infinita (incluindo teoria finita, combinatória
e teoria de gráficos) pode ser útil.
Muito mais importante: você precisa ser capaz de pensar logicamente e
seguir cadeias exatas de raciocínio exatamente como os matemáticos fazem.
Enquanto o conteúdo da matemática não vai ajudá-lo, você vai precisar da
disciplina e inteligência utilizada por ela. Se te falta inteligência,
existe pouca esperança para você como um ráquer; se te falta disciplina
é melhor desenvolvê-la rapidamente.
Eu acho que uma boa forma de descobrir se você tem o que é necessário
é conseguir uma cópia do livro de Raymond Smullyan
O que é o nome
desse Livro?
(What Is The Name Of This Book?). Os divertidos
jogos de advinhações lógicas de Smullyans encaixam-se muito bem no espírito
ráquer. Ser capaz de resolvê-los é um bom sinal;
apreciar
a resolução dos mesmo é um sinal melhor ainda.
Q:
Qual a linguagem que eu devo aprender primeiro?
A:
XHTML (o mais recente dialeto HTML) se você já não o conhece.
Existem muitos livros ilustres, péssimos super-intensivos sobre HTML
por aí, e, amargantemente, poucos livros bons. O que eu mais gosto é o
HTML: The
Definitive Guide
Mas HTML não é uma linguagem de programção completa.
Quando você estiver pronto para começar a programar eu recomendo
Python
. Você vai ouvir
um monte de pessoas recomendando Perl, e Perl ainda é mais
popular do que Python, mas é mais difícil de aprender e
(na minha opinião) menos bem projetada.
C é muito importante, mas é muito mais difícil que Python ou Perl.
Não tente aprender ela primeiro.
Usuários do Windows,
não
tentem Visual Basic.
Irá ensiná-los maus hábitos e não é nada portável fora do Windows. Evite.
Q:
Que tipo de hardware eu preciso?
A:
Era comum computadores pessoais serem pouco poderosos e de
baixa-memória, a tal ponto que era possível deixar limites artificiais
no processo de aprendizado de um ráquer. Isso deixou de ser verdade a
algum tempo. Qualquer máquina da Intel 486DX50 ou melhor é mais do que
poderosa para desenvolver trabalhos, X e comunicação com a Internet; e
os menores discos que você pode comprar hoje são mais do que suficientes.
O ponto importante na escolha da máquina na qual você irá aprender
é o fato de seu hardware ser compatível com o Linux (ou compatível com
BSD, se você escolher esse caminho). Novamente isso já é garantido para
a maioria das máquinas modernas. O grande problema estão nos modems;
algumas máquinas possuem modems específicos para Windows que não irão
funcionar com o Linux.
Existe um FAQ para compatibilidade de hardware; a versão mais
recente se encontra
aqui
Q:
Eu quero contribuir. Você me ajuda a encontrar um problema para trabalhar?
A:
Não por que eu desconheço seus talentos e interesses. Você deve
possuir auto motivação ou não haverá acordo, e por isso o porque de
sempre dar errado quando outras pessoas tentam escolher o seu caminho.
Tente o seguinte. Dê uma olhada nos anúncios de projetos no
Carnefresca
Freshmeat
)por alguns dias. Quando você
olhar algo que lhe faça pensar “Boa! Eu adoraria trabalhar
nisso!”, participe.
Q:
Eu preciso odiar e xingar a Microsoft?
A:
Não, você não precisa. Não que a Microsoft não seja escrota,
mas já existia uma cultura ráquer antes da Microsft e ainda irá
existir uma muito depois da Microsoft virar história. Qualquer
energia que você desperdiçar odiando a Microsoft seria melhor
desperdiçada no amor a suas habilidades. Escreva bons códigos —
isso irá envergonhar a Microsoft o suficiente sem poluir o seu karma.
Q:
Mas software código-livre não vai deixar programadores sem
meios de se sustentar?
A:
Isto não parece acontecer — até hoje a industria de
software código-livre parece estar gerando mais empregos do que
acabando com eles. Se ter um programa escrito é um ganho de
economia na rede sobre o fato de não ter um programador irá ser
pago por um programa depois de pronto mesmo este sendo ou não código-livre.
E, não importa o quão "livre" os programas são escritos, sempre
irá existir demanda para novas e customizadas aplicações. Eu
escrevi mais sobre isso na página da
Código-Livre
(Open
Source).
Q:
Como eu posso começar? Onde eu consigo um Unix livre?
A:
Em outros lugares nesta página eu inseri ponteiros nos quais
você pode pegar o mais famoso e utilizado Unix livre. Para ser um
ráquer você precisa de motivação, iniciativa e a habilidade de
educar você mesmo. Comece exatamente agora...
Sobre a tradução para o Português do Brasil
Este documento é a tradução para português do Brasil do
original
How To Become A Hacker
(Como Se Tornar
Um Ráquer) escrito por
Eric S. Raymond
. Esta
seção foi escrita pelo tradutor na tentativa de esclarecer e
discutir algumas questões que ele considera relevante e não tem
nenhuma ligação com o autor.
(This is the Brazilian Portuguese translation
of the howto document
How To Become A Hacker
originally written by the author Eric S. Raymond, in accordance to
the author's agreement and recommendations for translating his
documents. This section was written by the translator in order to
discuss and clarify some points about the translation itself, and
has nothing to do with the author or the original
document.)
Por que esta tradução?
O interesse em traduzir o documento de ESR nasceu do meu
próprio interesse nos ráqueres, no papel primordial que eles tem
na história da computação, e no seu
espírito
de fazer as coisas. Depois de uma pequena pesquisa rápida pela
rede ficou claro pra mim a importância de um documento desse tipo.
A grande meta (talvez até fantasiosa) da desmistificação do que
são os ráqueres — tema ainda bastante controverso — e
o que eles
de fato
fazem.
Uma segunda motivação (talvez menos objetiva do que a primeira)
está no meu interesse de garantir, a todo custo, que verdades
particulares sejam sempre priorizadas no lugar de generalizações
quando estas são aparentemente mais uteis, menos prolixas e
suficientes. Particularmente o Brasil, país o qual a tradução se
aplica mais diretamente, possui um alto nível desse tipo de atitude
pouco criteriosa, principalmente por causa do baixo nível de
esclarecimento geral e do poder da mídia de massa (algo que acredito
não ocorrer somente no Brasil).
"Essa tradução está péssima."
Bem, "Como se Tornar um Ráquer" já existe a pelo menos uns
cinco anos e eu nunca recebi esse tipo de comentário tão
diretamente. Mas acredito que essa opinião exista. Isso porque
essa história de ráqueres causa bastante balbúrdia entre a maioria
das opiniões; das mais apaixonadas até as mais desleixadas. Poucas
de um interesse real em compreender, de fato, o que é a
raqueação.
É óbvio que a tradução está para todo o público interessado
e não somente a minoria criteriosa. E mesmo aqueles que procuram
informação na mais pura humildade e fidelidade podem se sentir
desagradados desse documento ante a versão original. É aqui que eu
assumo o caráter amador do meu trabalho. Não são um tradutor
profissional. Mas no entanto gostaria de expressar o meu sincero
desejo em receber o comentário acima por parte de quem o tem. Com
as devidas razões, é claro. Estou pedindo um diálogo e não uma
inquisição.
Mesmo me livrando de qualquer cobrança quero também dizer
que fiz aqui um trabalho sincero. Desde no que diz respeito a
minha decisão de traduzir certos termos de forma não usual até
certas adaptações de expressões idiomáticas ou termos
técnicos. Acredito que fiz um trabalho descente e adoraria (com e
sem irônia) ver alguém dizer o contrário.
Sobre o Autor
O documento original, e todo os seus direitos, pertencem ao autor;
a tradução foi construída por:
João Victor D. Martins
JVDM's Web Home
jvdm@freeshell.org/
É importante dizer que caso você tenha alguma coisa a dizer
sobre o conteúdo do documento, sugestões a respeito do que ele
trata, dúvidas sobre os ráqueres, ou sobre o que deveria ser dito
aqui você deve mandar uma mensagem para o autor, e não para o
tradutor (eu).
Lembrando que essa tradução possui uma série de notas
espalhadas no documento tratando da discussão de termos, opiniões
divergentes e temas relevantes. Fonte de respostas valiosas sobre
a tradução antes de você entrar em contato comigo.
Como tradutor amador e falante da língua Portuguesa assumi
uma postura especial que resultou em uma decisão incomum na
tradução da palavra
hacker
. Adaptei
hacker
, via um neologismo calcado
na similaridade fonética, para a palavra
ráquer
, assim como seus derivados (raqueres,
raqueação, raqueado). Aparentemente esse é um processo natural (e
coerente) das línguas que face a um novo conceito estrangeiro
adaptam-se, ou criando um termo com familiaridade
semantica-morfológica (a exemplo apagão
black-out
), ou simplificam a
grafia via similaridade fonetica (a exemplo
sutiã
bife
futebol
). Talvez a estranhesa que
ráquer
provoca esteja na aparente
artificialidade causada pela minha aceleração forçada em um
processo que é naturalmente longo.
Essa postura especial nada mais é do que uma atitude de
valorização e enriquecemento do Português Brasileiro. Atitude essa
que me impede de simplesmente olhar palavras estrangeiras
espalhadas em textos, noticiários, livros, e em uma oportunidade
reproduzir esse crescente onda de estrangeirismos idiota que é
capaz até de evitar velhas e boas palavras do vernáculo por uma
palavrinha estranha em Inglês.
Gostaria muito de poder discutir essa atitude com os que a
apoiam ou a censuram. Se houver algum interesse por favor entre em
contato.
O arquivo dos jargões é um dos primeiros documentos
relacionados a cultura ráquer, considerado como um importante
documento histórico dos computadores. É "um compendio
compreensível das gírias da cultura ráquer". A versão original do
Jargon File
nasceu no MIT nos meados dos
70. A atual versão (que também é um livro chamada
The New Hacker Dictionary
) é
editada pelo autor deste documento e pode ser acessada no link
referenciado.
A tradução encontra-se em
Existe uma versão traduzida para
Português Brasileiro
dessa página.
De uma nota no código-fonte (xml) original deste
documento:
This is my poeticization of a remark by
Fred Rutherford, boomboom@bmi.net, that he said was based on
earlier versions of this document and martial-arts sources like
the "Budoshoshinshu" and the "Hagakure" which Fred thinks this
FAQ resembles in some respects.
A palavra original em inglês
hacking
é o substantivo utilizado
pelo autor para se referir ao ato de “ráquear”
— agir como um ráquer ou “fazer coisas que os
ráqueres fazem”. Como a palavra
hacker
está sendo aportuguesada aqui achei coerente
aplicar a mesma atitude no subtantivo
hacking
Do termo original
Under the
Hood
Jargon File
para mais informações): visualizar a implementação daquilo que
se encontra sobre alguma interface, ou as escondidas; aquilo que
não está óbvio o suficiente e deve ser necessário investigação
para perceber/olhar/observar.
Do inglês
to dip your toes in the
water
, algo que literalmente significa "enfiar
os seus pés na água".
Chatos geralmente banidos em grupos de discussão.