-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
1793 lines (1792 loc) · 111 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta description='Você também pode transcender o status de wannabe'>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Como se Tornar um Hacker</title>
<link rel="stylesheet" type="text/css" href="./css/hacker-howto.css" />
<link rel="stylesheet" type="text/css" href="./css/hacker-howto-pretty.css" />
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1" />
</head>
<body>
<div class="article">
<div id="Menu">
<div style="text-align:center; padding: 5px">
<a href="http://www.catb.org/%7Eesr" title="Home Page de Eric S. Raymond">Eric Raymond</a> |
<a href="http://www.catb.org/~esr/faqs/hacker-howto.html">Versão Original</a><br/>
<a href="./translation.html">Sobre esta tradução</a> |
<a href="#" id="changeFont" onclick=changeFont() title="Alterna entre a fonte original do texto e uma versão mais suave.">Fonte Original</a>
<p style="text-align:center;">
Página atualizada em <script language="JavaScript" src="./js/datestamp.js"></script>
<p/>
<p style="text-align:center;">Tradução da versão 1.52 (03 Jan 2020)
<p/>
</div>
</div>
<div class="titlepage">
<div>
<div>
<h2 class="title"><a id="idm44854331020384"></a>Como se Tornar um Hacker</h2>
</div>
<div>
<div class="author">
<h3 class="author"><span class="firstname">Eric</span> <span class="othername">Steven</span> <span class="surname">Raymond</span></h3>
<div class="affiliation">
<span class="orgname"><a class="ulink" href="http://catb.org/~esr/" target="_top">
Thyrsus Enterprises</a><br /></span>
<div class="address">
<p><br />
<code class="email"><<a class="email" href="mailto:esr@thyrsus.com">esr@thyrsus.com</a>></code><br>
</p>
</div>
</div>
</div>
</div>
<div>
<p class="copyright">Copyright © 2001 Eric S. Raymond</p>
</div>
<div>
</div>
</div>
<hr />
</div>
<div class="toc">
<p><strong>Índice</strong></p>
<dl class="toc">
<dt><span class="sect1"><a href="#why_this">Por que este documento?</a></span></dt>
<dt><span class="sect1"><a href="#what_is">O que é um Hacker?</a></span></dt>
<dt><span class="sect1"><a href="#attitude">A Atitude Hacker</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href="#believe1">1. O mundo está repleto de problemas fascinantes esperando para serem resolvidos.</a></span></dt>
<dt><span class="sect2"><a href="#believe2">2. Nenhum problema deve jamais ser resolvido duas vezes.</a></span></dt>
<dt><span class="sect2"><a href="#believe3">3. Tédio e trabalho repetitivo são nocivos.</a></span></dt>
<dt><span class="sect2"><a href="#believe4">4. Liberdade é uma coisa boa.</a></span></dt>
<dt><span class="sect2"><a href="#believe5">5. Atitude não substitui competência.</a></span></dt>
</dl>
</dd>
<dt><span class="sect1"><a href="#basic_skills">Habilidades básicas do Hacker</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href="#skills1">1. Aprenda a programar.</a></span></dt>
<dt><span class="sect2"><a href="#skills2">2. Pegue um dos Unixes de código aberto e aprenda a usá-lo.</a></span></dt>
<dt><span class="sect2"><a href="#skills3">3. Aprenda a usar a World Wide Web e escrever em HTML.</a></span></dt>
<dt><span class="sect2"><a href="#skills4">4. Se você não tem Inglês funcional, aprenda.</a></span></dt>
</dl>
</dd>
<dt><span class="sect1"><a href="#status">Status na Cultura Hacker</a></span></dt>
<dd>
<dl>
<dt><span class="sect2"><a href="#respect1">1. Escreva software de código aberto</a></span></dt>
<dt><span class="sect2"><a href="#respect2">2. Ajude a testar e depurar software de código aberto</a></span></dt>
<dt><span class="sect2"><a href="#respect3">3. Publique informação útil</a></span></dt>
<dt><span class="sect2"><a href="#respect4">4. Ajude a manter a infraestrutura funcionando</a></span></dt>
<dt><span class="sect2"><a href="#respect5">5. Sirva a cultura hacker em si</a></span></dt>
</dl>
</dd>
<dt><span class="sect1"><a href="#nerd_connection">A Conexão Hacker/Nerd</a></span></dt>
<dt><span class="sect1"><a href="#style">Pontos sobre Estilo</a></span></dt>
<dt><span class="sect1"><a href="#history">Nota Histórica: Hacking, Open Source, e Software Livre</a></span>
</dt>
<dt><span class="sect1"><a href="#resources">Outros Recursos</a></span></dt>
<dt><span class="sect1"><a href="#FAQ">Perguntas Frequentes</a></span></dt>
</dl>
</div>
<div class="mediaobject"><img src="./img/glider.png" /></div>
<div class="sect1">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both"><a id="why_this"></a>Por que este documento?</h2>
</div>
</div>
</div>
<p>Como editor do <a class="ulink" href="http://www.catb.org/jargon" target="_top">Jargon
File</a>,<sup><a href="./translation.html#note1" title="Nota do tradutor" class="transl-note"><span>[1]</span></a></sup> e autor de alguns outros documentos bem conhecidos de natureza similar,
eu frequentemente recebo emails de iniciantes entusiasmados
perguntando (de fato) "como posso aprender a ser um grande hacker?". Voltando a
1996, eu notei que não parecia haver nenhum outro FAQ ou documento na web
que endereçasse essa questão vital, então eu iniciei este.
Muitos hackers agora consideram este como definitivo, e eu
suponho que isso signifique que ele é. Ainda sim, eu não tenho a pretensão de ser a autoridade
exclusiva neste tópico; se você não gostar do que leu aqui, escreva o seu próprio.
</p>
<p>Se você está lendo uma cópia deste documento offline, a
versão atual está em <a class="ulink" href="http://catb.org/~esr/faqs/hacker-howto.html" target="_top">
http://catb.org/~esr/faqs/hacker-howto.html</a>.
</p>
<p>Nota: existe uma lista de <a class="link" href="#FAQ" title="Perguntas Mais Frequentes">Perguntas Mais Frequentes</a>
no final deste documento. Por favor, leia duas vezes antes de enviar-me um email perguntando sobre este documento.
</p>
<p>Muitas traduções deste documento estão disponíveis:
<a class="ulink" href="http://www.abdulibrahim.com/%D9%83%D9%8A%D9%81-%D8%AA%D8%B5%D8%A8%D8%AD-%D9%87%D8%A7%D9%83%D8%B1/" target="_top">Árabe</a>,
<a class="ulink" href="http://moneyaisle.com/worldwide/how-to-become-a-hacker-be" target="_top">Bielorrusso</a>,
<a class="ulink" href="http://weknowyourdreams.com/questions.html" target="_top">Búlgaro</a>,
<a class="ulink" href="http://zer4tul.github.io/docs/hacker-howto.html#hacker-howto" target="_top">Chinês</a>,
<a class="ulink" href="http://www.olemichaelsen.dk/hacker-howto.html" target="_top">Dinamarquês</a>,
<a class="ulink" href="https://tkkrlab.nl/wiki/Hoe_word_ik_een_hacker" target="_top">Holandês</a>,
<a class="ulink" href="http://www.kakupesa.net/hacker/" target="_top">Estoniano</a>,
<a class="ulink" href="http://thomasgil.com/hacker.html" target="_top">Francês</a>,
<a class="ulink" href="http://www.linuxtaskforce.de/hacker-howto-ger.html" target="_top">Alemão</a>,
<a class="ulink" href="https://sophron.latthi.com/hacker-howto-gr.html" target="_top">Grego</a>,
<a class="ulink" href="http://www.victorfleur.com/documents/hacker.html" target="_top">Italiano</a>,
<a class="ulink" href="http://he.wikisource.org/wiki/%D7%90%D7%99%D7%9A_%D7%9C%D7%94%D7%99%D7%95%D7%AA_%D7%94%D7%90%D7%A7%D7%A8" target="_top">Hebraico</a>,
<a class="ulink" href="http://cruel.org/freeware/hacker.html" target="_top">Japonês</a>,
<a class="ulink" href="http://rtfb.lt/hacker-howto-lt.html" target="_top">Lituano</a>,
<a class="ulink" href="http://stian.atlantiscrew.net/doc/hacker-howto.html" target="_top">Norueguês</a>,
<a class="ulink" href="http://ashiyane.org/forums/showthread.php?t=20570" target="_top">Persa</a>,
<a class="ulink" href="http://michalp.net/blog/posts/hacker-howto" target="_top">Polonês</a>,
<a class="ulink" href="http://jvdm.sdf.org/pt/raquer-howto" target="_top">Português
(Brasileiro)</a>,
<a class="ulink" href="http://jonatha.daguerre.com.br/hacker-howto/" target="_top">Português
(Brasileiro/Atualizado)</a>,
<a class="ulink" href="http://garaj.xhost.ro/hacker-howto/hacker-howto.ro.htm" target="_top">Romeno</a>,
<a class="ulink" href="http://www.sindominio.net/biblioweb/telematica/hacker-como.html" target="_top">Espanhol</a>,
<a class="ulink" href="http://www.belgeler.org/howto/hacker-howto/hacker-howto.html" target="_top">Turco</a>,
e <a class="ulink" href="http://www1.tripnet.se/~mly/open/faqs/hacker-howto.se.html" target="_top">Sueco</a>.
Note que uma vez que este documento muda, ocasionalmente, elas podem estar desatualizadas em graus variados.
</p>
<p>O diagrama de cinco-pontos-em-nove-quadrados que decora este documento é chamado de
<span class="emphasis"><em>glider</em></span> (planador). É um padrão simples com algumas propriedades
surpreendentes em uma simulação matemática chamada <a class="ulink" href="http://dmoz.org/Computers/Artificial_Life/Cellular_Automata/" target="_top">Vida</a>,
que tem fascinado hackers por muitos anos. Eu acho que ele é um bom emblema
visual para o que os hackers são — abstratos, a princípio, parecendo um tanto misteriosos,
mas um portal para um mundo inteiro com uma intrigante lógica própria. Leia mais sobre o emblema glider <a class="ulink" href="/hacker-emblem" target="_top">aqui</a>.
</p>
<p>Se você achar esse documento valioso, por favor me apoie no <a class="ulink" href="http://patreon.com/esr" target="_top">Patreon</a> ou no <a class="ulink" href="https://www.subscribestar.com/esr" target="_top">SubscribeStar</a>. E
considere também suportar outros hackers que produzem código que você
usa e valoriza via <a class="ulink" href="http://www.catb.org/esr/loadsharers/" target="_top">Loadsharers</a>. Muitas doações pequenas mas contínuas somam rapidamente,
e podem libertar as pessoas que têm lhe dado presentes do trabalho delas para
criar mais valor.
</p>
</div>
<div class="sect1">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both"><a id="what_is"></a>O que é um Hacker?</h2>
</div>
</div>
</div>
<p>O <a class="ulink" href="http://www.catb.org/jargon" target="_top">Jargon
File</a> contém um monte de definições do termo ‘hacker’,
a maioria tendo a ver com aptidão técnica e um deleite por resolver
problemas e superar limites. Se você quer saber como
<span class="emphasis"><em>tornar-se</em></span> um hacker, no entanto, apenas duas são realmente
relevantes.
</p>
<p>Existe uma comunidade, uma cultura compartilhada, de programadores experts
e magos de rede cuja a história remonta a décadas atrás, aos primeiros minicomputadores
e aos primeiros experimentos na ARPAnet. Os membros dessa cultura originaram o termo
‘hacker’. Hackers construíram a Internet. Hackers fizeram do sistema operacional Unix
o que ele é hoje. Hackers fazem a World Wide
Web funcionar. Se você é parte desta cultura, se você tem contribuído para ela
e outras pessoas nela sabem quem você é e chamam você de hacker, você é um hacker.
</p>
<p>A mentalidade hacker não é confinada a esta cultura do hacker-de-software.
Existem pessoas que aplicam a atitude hacker em outras
coisas, como eletrônica ou música — na verdade, você pode encontrá-la nos
níveis mais altos de qualquer ciência ou arte. Hackers de software reconhecem
esses espíritos aparentados de outros lugares e podem chamá-los de "hackers" também
— e alguns afirmam que a natureza hacker é realmente independente do meio particular onde o hacker trabalha.
Mas no restante deste documento iremos focar nas habilidades e
atitudes de um hackers de software, e nas tradições da cultura compartilhada que deu origem ao termo ‘hacker’.
</p>
<p>Existem outros grupos de pessoas que se dizem hackers, mas não são.
São (adolescentes do sexo masculino, na maioria) que se divertem invadindo
computadores e fraudando o sistema telefônico. Verdadeiros hackers chamam essas pessoas de ‘crackers’ e
não têm nada a ver com eles. Hackers de verdade consideram os crackers preguiçosos, irresponsáveis,
e não muito brilhantes, e alegam que ser capaz de quebrar sistemas de segurança torna alguém hacker tanto quanto
fazer ligação direta em carros torna alguém um engenheiro automotivo. Infelizmente, muitos jornalistas
e escritores foram levados à usar a palavra ‘hacker’ para descrever crackers; isso é muito irritante para os hackers de verdade.
</p>
<p>A diferença básica é esta: hackers constroem coisas, crackes as destroem.</p>
<p>Se você quer ser um hacker, continue lendo. Se você quer ser um cracker,
vá ler o grupo de notícias <a class="ulink" href="news:alt.2600" target="_top">alt.2600</a> e prepare-se
para pegar de cinco a dez anos de cadeia<sup><a href="./translation.html#note2" title="Nota do tradutor" class="transl-note"><span>[2]</span></a></sup> depois de descobrir que você não é tão esperto quando acha que é.
E isso é tudo que falarei sobre crackers.
</p>
<div class="mediaobject"><img src="./img/glider.png" /></div>
</div>
<div class="sect1">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both"><a id="attitude"></a>A Atitude Hacker</h2>
</div>
</div>
</div>
<div class="toc">
<dl class="toc">
<dt><span class="sect2"><a href="#believe1">1. O mundo está repleto de problemas fascinantes esperando para serem resolvidos.</a></span></dt>
<dt><span class="sect2"><a href="#believe2">2. Nenhum problema deve jamais ser resolvido duas vezes..</a></span></dt>
<dt><span class="sect2"><a href="#believe3">3. Tédio e trabalho repetitivo são nocivos..</a></span></dt>
<dt><span class="sect2"><a href="#believe4">4. Liberdade é uma coisa boa.</a></span></dt>
<dt><span class="sect2"><a href="#believe5">5. Atitude não substitui competência.</a></span></dt>
</dl>
</div>
<p>Hackers resolvem problemas e constroem coisas, e acreditam em liberdade
e na ajuda mútua voluntária. Para ser aceito como um hacker, você tem que
se comportar de acordo com essa atitude. E para
se comportar de acordo com essa atitude, você precisa realmente acreditar nessa
atitude.
</p>
<p>Mas se você acha que cultivar a cultura hacker é apenas um meio de ganhar
aceitação na cultura, você perderá o ponto. Tornar-se o
tipo de pessoa que acredita nessas coisas é importante para
<span class="emphasis"><em>você</em></span> — para ajudá-lo a aprender e manter-se motivado.
Assim como em todas as artes criativas, a maneira mais efetiva para
tornar-se um mestre é imitar a maneira de pensar dos mestres — não apenas
intelectualmente mas também emocionalmente.
</p>
<p>Ou, como o seguinte poema Zen moderno diz:</p>
<div class="literallayout">
<p><br />
Para seguir o caminho:<br />
olhe o mestre,<br />
siga o mestre,<br />
caminhe com o mestre,<br />
veja através do mestre,<br />
torne-se o mestre.<br />
</p>
</div>
<p>Então, se você quer se tornar um hacker, repita as seguintes coisas até
você acreditar nelas:
</p>
<div class="sect2">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="believe1"></a>1. O mundo está repleto de problemas fascinantes esperando para serem resolvidos.</h3>
</div>
</div>
</div>
<p>Ser um hacker é muito divertido, mas é o tipo de diversão que necessita de muito esforço.
O esforço necessita de motivação. Atletas de sucesso retiram sua motivação
de um tipo de prazer físico em trabalhar seus corpos,
em tentar ultrapassar seus próprios limites físicos.
De forma similar, para ser um hacker você tem que ter uma emoção básica por resolver
problemas, afiar suas habilidades, e exercitar sua inteligência.
</p>
<p>Se você não é o tipo de pessoa que se sente assim naturalmente, você precisará
tornar-se uma para ser um hacker. Caso contrário, você
verá sua energia para hackear sendo esvaída por distrações como sexo, dinheiro, e
aprovação social.
</p>
<p>(Você também tem que desenvolver uma espécie de fé na sua pórpria capacidade de aprendizado
— crer que, mesmo que você não saiba tudo que precisa para resolver um problema,
se você atacar apenas um pedaço dele e aprender
a partir disso, você aprenderá o suficiente para resolver o próximo pedaço — e assim por diante,
até que você termine.)
</p>
</div>
<div class="sect2">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="believe2"></a>2. Nenhum problema deve jamais ser resolvido duas vezes.</h3>
</div>
</div>
</div>
<p>Mentes criativas são um recurso valioso e limitado. Não devem ser
desperdiçadas reinventando a roda quando existem tantos problemas novos e fascinantes esperando por aí.
</p>
<p>Para comportar-se como um hacker, você tem que acreditar que o tempo de pensamento de outros hackers
é precioso — tanto que é quase um dever moral
para você, compartilhar informação, resolver problemas e então dar as soluções
para que outros hackers possam resolver <span class="emphasis"><em>novos</em></span>
problemas ao invés de ter que reendereçar os antigos perpetuamente.
</p>
<p>Perceba, no entanto, que "nenhum problema deve jamais ser resolvido duas vezes."
não implica que você tem que considerar todas as soluções existentes como
sagradas, ou que existe apenas uma solução certa para qualquer problema dado.
Frequentemente, nós aprendemos muito sobre um problema que não conhecíamos antes
estudando a primeira versão da solução. É OK, e
frequentemente necessário, decidir que nós podemos fazer melhor. O que não é OK são
barreiras artificiais técnicas, legais, ou institucionais (como
código-fonte fechado) que impedem uma boa solução de ser reutilizada
e <span class="emphasis"><em>força</em></span> as pessoas a reinventarem rodas.
</p>
<p>(Você não tem que acreditar que você é obrigado a dar
<span class="emphasis"><em>toda</em></span> a sua produção criativa, ainda que
hackers que o fazem são os mais respeitados pelos outros hackers.
É consistente com os valores hackers vender o suficiente da sua produção para mantê-lo alimentado
e pagar o aluguél e computadores. Está bem usar suas habilidades de hacker para
manter a família ou mesmo ficar rico, com tanto que você não esqueça sua
lealdade à sua arte e seus colegas hackers enquanto faz isso.)
</p>
</div>
<div class="sect2">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="believe3"></a>3. Tédio e trabalho repetitivo são nocivos.</h3>
</div>
</div>
</div>
<p>Hackers (e pessoas criativas em geral) não podem ficar entediadas ou
ter que fazer trabalho repetitivo, porque quando isso acontece significa
que eles não estão fazendo o que apenas eles podem fazer — resolver novos problemas.
Esse desperdício prejudica a todos. Portanto, tédio e trabalho repetitivo não são
apenas desagradáveis, mas também nocivos.
</p>
<p>Para comportar-se como um hacker, você tem que acreditar nisso o suficiente para querer automatizar
as partes chatas tanto quanto possível, não apenas para você mesmo,
mas para as outras pessoas (especialmente outros hackers).
</p>
<p>(Há uma exceção aparente a isso. Às vezes, hackers farão
coisas que podem parecer repetitivas ou tediosas para um observador,
como um exercício de "limpeza mental", ou para adquirir uma habilidade ou ter
alguma espécie particular de experiência que não seria possível de outro modo. Mas isso
é por opção — ninguém que consiga pensar deve jamais ser forçada ao tédio.
</p>
</div>
<div class="sect2">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="believe4"></a>4. Liberdade é uma coisa boa.</h3>
</div>
</div>
</div>
<p>Hackers são naturalmente antiautoritários. Qualquer um que pode lhe dar ordens pode
impedi-lo de resolver qualquer que seja o problema pelo qual você está
fascinado — e, dada a maneira com que mentes autoritárias funcionam, irá
geralmente encontrar alguma razão terrivelmente estúpida para fazê-lo. Então, a
atitude autoritária deve ser combatida onde quer que você a encontre, para que não
sufoque você e outros hackers.
</p>
<p>(Isso não é o mesmo que combater toda e qualquer autoridade. Crianças precisam ser
orientadas e criminosos, detidos. Um hacker pode concordar em aceitar alguns tipos
de autoridade a fim de obter algo que ele quer mais que o tempo
que ele gasta seguindo ordens. Mas isso é uma barganha restrita e consciente;
o tipo de sujeição pessoal que os autoritários querem não está em oferta.)
</p>
<p>Pessoas autoritárias prosperam na censura e no segredo. E desconfiam
da cooperação voluntária e compartilhamento de informação —
só gostam de ‘cooperação’ que eles possam controlar. Então, para se comportar
como um hacker, você tem que desenvolver uma hostilidade instintiva à
censura, ao segredo, e ao uso da força ou mentira para compelir<sup><a href="./translation.html#note3" title="Nota do tradutor" class="transl-note"><span>[3]</span></a></sup>
adultos responsáveis. E você tem que estar disposto a agir de acordo com essa crença.
</p>
</div>
<div class="sect2">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="believe5"></a>5. Atitude não substitui competência.</h3>
</div>
</div>
</div>
<p>Para ser um hacker, você tem que desenvolver algumas dessas atitudes. Mas
apenas ter uma atitude não fará de você um hacker, assim como não
fará de você um atleta campeão ou uma estrela de rock. Para tornar-se um hacker
é necessário inteligência, prática, dedicação, e trabalho duro.
</p>
<p>Portanto, você tem que aprender a desconfiar de atitude e respeitar todo o
tipo de competência. Hackers não deixarão posers<sup><a href="./translation.html#note3" title="Nota do tradutor" class="transl-note"><span>[4]</span></a></sup> desperdiçar o tempo deles,
mas eles idolatram competência — especialmente competência em hackear, mas
competência em qualquer coisa é valorizada. Competência em habilidades que
poucos conseguem dominar é especialmente boa, e competência em habilidades
que envolvem agudeza mental, perícia e concentração é melhor.
</p>
<p>Se você reverenciar competência, você gostará de desenvolvê-la em você mesmo
— o trabalho duro e a dedicação se tornarão um tipo de jogo intenso, ao invés de
trabalho repetitivo. Essa atitude é vital para se tornar um hacker.
</p>
<div class="mediaobject"><img src="./img/glider.png" /></div>
</div>
</div>
<div class="sect1">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both"><a id="basic_skills"></a>Habilidades básicas do Hacker</h2>
</div>
</div>
</div>
<div class="toc">
<dl class="toc">
<dt><span class="sect2"><a href="#skills1">1. Aprenda a programar.</a></span></dt>
<dt><span class="sect2"><a href="#skills2">2. Pegue um dos Unixes de código aberto e aprenda a usá-lo.</a></span></dt>
<dt><span class="sect2"><a href="#skills3">3. Aprenda a usar a World Wide Web e escrever em HTML.</a></span></dt>
<dt><span class="sect2"><a href="#skills4">4. Se você não tem Inglês funcional, aprenda.</a></span></dt>
</dl>
</div>
<p>A atitude hacker é vital, mas habilidades são ainda mais vitais.
Atitude não substitui competência, e há um certo conjunto de habilidades
que você precisa ter antes de qualquer hacker sonhar chamar você de um.
</p>
<p>Esse conjunto muda lentamente com o tempo, conforme a tecnologia cria novas habilidades
e torna as antigas obsoletas. Por exemplo, isso costumava incluir programação em linguagem de máquina,
e até recentemente<sup><a href="./translation.html#note5" title="Nota do tradutor" class="transl-note"><span>[5]</span></a></sup>, não envolvia HTML. Mas agora claramente inclui o seguinte:
</p>
<div class="sect2">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="skills1"></a>1. Aprenda a programar.</h3>
</div>
</div>
</div>
<p>Essa é, claro, a habilidade hacker fundamental. Se você não sabe
nenhuma linguagem de programação, eu recomendo começar com Python. É uma linguagem com um design limpo, é
bem documentada, e relativamente gentil para iniciantes.
Apesar de ser uma ótima primeira linguagem, ela não é um brinquedo; ela é muito
poderosa e flexível, e se adéqua bem para grandes projetos. Eu escrevi
uma <a class="ulink" href="http://www.linuxjournal.com/article.php?sid=3882" target="_top">avaliação de
Python</a> mais detalhada. Bons <a class="ulink" href="https://www.python.org/about/gettingstarted/" target="_top">tutoriais</a> estão
disponíveis no <a class="ulink" href="https://docs.python.org/3/tutorial/" target="_top">web site do Python</a>;
há também um excelente tutorial em <a class="ulink" href="http://cscircles.cemc.uwaterloo.ca/" target="_top">Computer Science
Circles</a>.
</p>
<p>Eu costumava recomendar Java como uma boa linguagem para aprender no início, mas
<a class="ulink" href="http://www.crosstalkonline.org/storage/issue-archives/2008/200801/200801-Dewar.pdf" target="_top">essa
crítica</a> me fez mudar de ideia (procure por <span class="quote">“<span class="quote">The Pitfalls of
Java as a First Programming Language</span>”</span> dentro dela). Um hacker
não pode, como eles devastadoramente colocaram <span class="quote">“<span class="quote">abordar resolução de problemas
como um encanador em uma loja de ferragens</span>”</span>; você precisa saber o que o componente
realmente <span class="emphasis"><em>faz</em></span>. Agora eu acho que é provavelmente melhor
aprender C e Lisp primeiro do que Java.
</p>
<p>Há talvez um ponto mais geral aqui. Se uma linguagem faz muito
por você, ela pode ser, ao mesmo tempo, uma boa ferramenta para produção e
uma má para aprendizado. Não são só linguagens que têm esse
problema; frameworks para aplicações web como RubyOnRails, CakePHP, Django
podem fazer com que seja muito fácil atingir um nível superficial de entendimento, que
deixará você sem recursos quando você tiver que atacar um problema
difícil, ou apenas debugar a solução para um problema fácil.
</p>
<p>Uma alternativa melhor ao Java é aprender <a class="ulink" href="https://golang.org/" target="_top">Go</a>.
Esta linguagem relativamente nova é muito fácil de mudar do/para Python, e aprendê-la lhe dá uma grande vantagem na
possível próxima etapa, que é aprender C. Além disso, uma das incógnitas nos próximos anos é até que ponto Go pode
na verdade, substitui C como uma linguagem de programação de sistemas. Há um futuro possível em que isso aconteça
em grande parte da tradicional área do C.
</p>
<p>Se você levar programação à sério, você terá eventualmente que aprender C,
a linguagem core do Unix. C++ é muito próxima de C; se você
souber uma, aprender a outra não será difícil. No entanto, nenhuma delas
é boa para tentar aprender como sua primeira linguagem. Na verdade,
quanto mais você evitar programar em C, mais produtivo você será.
</p>
<p>C é muito eficiente, e economiza muito os recursos de sua máquina. Infelizmente, C obtém essa eficiência obrigando você a
fazer muito gerenciamento de recursos em baixo nível (como memória) manualmente.
Todo esse código em baixo nível é complexo e suscetível a bugs, absorverá
uma grande quantidade do seu tempo em depuração. Com as máquinas de hoje, poderosas como são,
isso normalmente não vale a pena — é mais inteligente
usar uma linguagem que use o tempo da máquina com menos eficiência, mas
seu tempo com muito <span class="emphasis"><em>mais</em></span> eficiência. Portanto, Python.
</p>
<p>Outras linguagens particularmente importantes para hackers incluem
<a class="ulink" href="http://www.perl.com" target="_top">Perl</a> e <a class="ulink" href="http://www.lisp.org/" target="_top">LISP</a>. Perl vale a pena
aprender por razões práticas; é largamente usada por active web
pages e administração de sistemas, então mesmo que você nunca escreva Perl
você deve aprender a lê-lo. Muitas pessoas usam Perl da maneira
que eu sugiro que você deva usar Python, para evitar programação em C em trabalhos que
não necessitem da eficiência de máquina do C. Você precisará ser capaz
de entender o código delas.
</p>
<p>LISP vale a pena aprender por uma razão diferente — a
profunda experiência de iluminação que você terá quando finalmente entendê-lo.
Essa experiência fará de você um melhor programador pelo resto
de seus dias, mesmo que você nunca use LISP de verdade por is só. (Você pode
obter alguma experiência de iniciante com LISP facilmente escrevendo e
modificando modos de edição para o editor de texto Emacs ou plugins Script-Fu
para o GIMP.)
</p>
<p>Na verdade, é melhor aprender todas as cinco: Python, C/C++, Java,
Perl, e LISP. Além de serem as linguagens mais importantes para hackerar,
elas representam abordagens de programação muito diferentes, e cada uma irá
educá-lo de forma valiosa.
</p>
<p>Mas esteja ciente de que você não atingirá o nível de habilidade de um hacker ou
mesmo meramente a de um programador simplesmente acumulando linguagens — você
precisa aprender como pensar sobre problemas de programação de uma maneira
geral, independente de qualquer linguagem. Para ser um hacker real, você precisa
chegar ao ponto onde você possa aprender uma nova linguagem em questão de dias relacionando
o que está no manual com o que você já sabe. Isso significa
que você deve aprender muitas linguagens bem diferentes.
</p>
<p>Eu não posso dar instruções completas aqui de como programar
— isso é uma habilidade complexa. Mas posso dizer que livros e cursos
não farão isso — muitos, talvez <span class="emphasis"><em>a maioria</em></span> dos melhores
hackers são autodidatas. Você pode aprender os recursos da linguagem — pedaços de conhecimento
— de livros, mas a mentalidade que transforma esse conhecimento em habilidades de vida pode ser aprendido apenas
pela prática e estudo.
O que fará isso é (a) <span class="emphasis"><em>ler código</em></span> e (b)
<span class="emphasis"><em>escrever código</em></span>.
</p>
<p>Peter Norvig, que é um dos top hackers do Google e o
coautor do livro de IA mais largamente utilizado, escreveu um
excelente artigo chamado <a class="ulink" href="http://norvig.com/21-days.html" target="_top">Teach Yourself Programming in
Ten Years</a> (Ensine a Você Mesmo Programação em Dez Anos). Sua "receita para o sucesso em programação" merece
muita atenção.
</p>
<p>Aprender a programar é como aprender a escrever bem em linguagem natural.
A melhor maneira para fazer isso é ler coisas escritas por mestres da forma,
escrever algumas coisas você mesmo, ler mais um monte, escrever um pouco mais,
ler mais um monte, escrever um pouco mais... e repetir até
sua escrita começar a desenvolver o tipo de força e economia que você vê
em seus modelos.
</p>
<p>Eu tenho tido mais a dizer sobre esse processo de aprendizagem em
<a class="ulink" href="hacking-howto.html" target="_top">How To Learn Hacking</a> (Como Aprender a Hackear). Esse é um
um conjunto simples de instruções, mas não um conjunto fácil.
</p>
<p>Achar bom código para ler era difícil, porque haviam poucos
programas grandes disponíveis em código-fonte para que hackers novatos pudessem ler e mexer.
Isso mudou dramaticamente; software open-source<sup><a href="./translation.html#note7" title="Nota do tradutor" class="transl-note"><span>[7]</span></a></sup> (software de código aberto),
ferramentas de programação, e sistemas operacionais (todos feitos por hackers) estão
amplamente disponíveis atualmente. O que me traz perfeitamente ao próximo tópico...
</p>
</div>
<div class="sect2">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="skills2"></a>2. Pegue um dos Unixes de código aberto e aprenda a usá-lo.</h3>
</div>
</div>
</div>
<p>Eu assumirei que você tem um computador pessoal ou tem acesso a um.
(Pare um momento para apreciar o quanto isso significa. A cultura
hacker originalmente evoluiu quando computadores eram tão caros
que um indivíduo não poderia ter um.) O passo mais importante que um novato deve dar para adquirir
habilidades de hacker é pegar uma cópia do Linux ou um dos BSD-Unixes, instalá-la em uma máquina pessoal, e
executá-la.
</p>
<p>Sim, existem outros sistemas operacionais no mundo além
do Unix. Mas eles são distribuídos em binário — você não pode ler o
código-fonte, e não pode modificá-lo. Tentar aprender a hackear em uma máquina Microsoft
Windows ou em qualquer outro sistema de código fechado é como
tentar aprender a dançar com o corpo engessado.
</p>
<p>No Mac OS X é possível, mas apenas parte do sistema é de código aberto
— É provável que você esbarre em muitas barreiras, e você teria que ser cuidadoso
de não desenvolver o mal hábito de depender do código proprietário da Apple.
Se você se concentrar no Unix por baixo do capô,
você pode aprender algumas coisas úteis.
</p>
<p>Unix é o sistema operacional da Internet. Embora você possa aprender a usar a Internet
sem saber Unix, vocẽ não pode ser um
hacker de Internet sem entender Unix. Por essa razão, a cultura
hacker hoje é fortemente centrada no Unix. (Isso não foi sempre
verdade, e alguns hackers dos velhos tempos ainda não estão contentes com isso, mas
a simbiose entre o Unix e a Internet tornou-se forte o suficiente que
nem os músculos da Microsoft parecem capazes de diminuí-lo seriamente.)
</p>
<p>Então, pegue um Unix — Eu gosto do Linux mas existem outros
caminhos (e sim, você <span class="emphasis"><em>pode</em></span> rodar ambos Linux e
Microsoft Windows na mesma máquina). Aprenda. Rode. Mexa nele.
Acesse a Internet através dele. Leia o código. Modifique o código.
Você terá ferramentas de programação (incluindo C, LISP, Python e
Perl) melhores do que qualquer sistema operacional Microsoft pode sonhar em ter, você
se divertirá, e absorverá mais conhecimento do que você perceber,
até olhar para trás como um mestre hacker. </p>
<p>Para aprender mais sobre Unix, veja <a class="ulink" href="http://catb.org/~esr/faqs/loginataka.html" target="_top">The Loginataka</a>. Você também pode
querer dar um olhada em <a class="ulink" href="http://catb.org/~esr/writings/taoup/" target="_top">The
Art Of Unix Programming</a> (A Arte de Programação Unix).
</p>
<p>O blog <a class="ulink" href="https://letsgolarval.wordpress.com/" target="_top">Let's
Go Larval!</a> é uma janela para o processo de aprendizado de um novo usuário
Linux que acho ser excepcionalmente lúcido e útil. O post
<a class="ulink" href="https://letsgolarval.wordpress.com/2015/06/23/how-i-learned-linux/" target="_top">How
I Learned Linux</a> (Como aprendi Linux) é um bom ponto de partida.
</p>
<p>Para botar a mão no Linux, veja o site <a class="ulink" href="http://www.linux.org/" target="_top">Linux Online!</a>; você pode
baixá-lo de lá ou (uma ideia melhor) achar um grupo local de usuários Linux
para ajudá-lo com a instalação.
</p>
<p>Durante os primeiros dez anos da vida desse HOWTO, eu reportava que
da perspectiva de um novo usuário, todas as distribuições Linux eram quase
equivalentes. Mas em 2006-2007, uma verdadeira melhor escolha surgiu: <a class="ulink" href="http://www.ubuntu.com/" target="_top">Ubuntu</a>. Enquanto outras distros têm
suas próprias áreas de expertise, Ubuntu é de longe a mais
acessível para iniciantes no Linux. Cuidado, no entanto, com a horrível e
quase inutilizável interface desktop "Unity" que o Ubuntu introduziu como
padrão alguns anos mais tarde; as variações Xubuntu ou Kubuntu são melhores.
</p>
<p>Você pode encontrar ajuda e recursos sobre BSD Unix em <a class="ulink" href="http://www.bsd.org" target="_top">www.bsd.org</a>.</p>
<p>Uma boa maneira para se ter uma ideia, na prática,<sup><a href="./translation.html#note6" title="Nota do tradutor" class="transl-note"><span>[6]</span></a></sup> é bootar o que os fãs de
Linux chamam de <a class="ulink" href="http://www.livecdnews.com/" target="_top">live
CD</a>, uma distribuição que roda completamente a partir de um CD ou dispositivo USB
sem ter que modificar o seu disco rígido. Isso pode funcionar devagar, pois
CDs funcionam mais devagar, mas é uma maneira de se dar uma olhada nas possibilidades
sem ter que fazer nada drástico.
</p>
<p>Eu escrevi uma cartilha sobre o <a class="ulink" href="http://en.tldp.org/HOWTO/Unix-and-Internet-Fundamentals-HOWTO/index.html" target="_top">
básico de Unix e Internet</a>.
</p>
<p>Eu costumava recomendar não instalar nem Linux, nem BSD como
um projeto solo se você for um iniciante. Atualmente os instaladores tornaram-se
bons o suficiente que, fazer isso totalmente por você mesmo, é possível, mesmo para um iniciante.
Ainda assim, eu ainda recomendo fazer contato com o seu grupo local de usuários
Linux e pedir ajuda. Isso não doí, e pode facilitar o processo.
</p>
</div>
<div class="sect2">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="skills3"></a>3. Aprenda a usar a World Wide Web e escrever em HTML.</h3>
</div>
</div>
</div>
<p>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 impacto óbvio na vida dos não-hackers. A Web é
uma grande exceção, o enorme e brilhante brinquedo dos hackers que até mesmo
<span class="emphasis"><em>políticos</em></span> admitem ter mudado o mundo. Por
esse motivo (e vários outros também) você precisa
aprender como trabalhar na Web.
</p>
<p>Isso não significa apenas aprender como usar um browser (qualquer um pode
fazer isso), mas aprender a escrever HTML, a linguagem de marcação da Web. Se
você não sabe programar, escrever HTML o ensinará alguns
hábitos mentais que o ajudarão a aprender. Então, construa uma home page (página inicial).
</p>
<p>Mas apenas ter uma home page não é, nem de perto, bom o suficiente para
fazer de você um hacker. A Web é cheia de home pages. A maioria delas é
inútil, porcaria sem conteúdo — porcaria muito bem apresentada, note
bem, mas porcaria mesmo assim (para mais sobre esse assunto, veja <a class="ulink" href="http://catb.org/~esr/html-hell.html" target="_top">The HTML Hell
Page</a>).
</p>
<p>Para valer a pena, sua paǵina deve ter
<span class="emphasis"><em>conteúdo</em></span> — o qual deve ser interessante e/ou útil
à outros hackers. E isso nos trás ao próximo tópico...
</p>
</div>
<div class="sect2">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="skills4"></a>4. Se você não tem Inglês funcional, aprenda.</h3>
</div>
</div>
</div>
<p>Como estadunidense e falante nativo da língua inglesa, eu tenho relutado em sugerir isso,
para que não fosse tomado como uma espécie de imperialismo cultural.
Mas vários falantes nativos de outras línguas me pediram para apontar que o
inglês é o idioma de trabalho para a cultura hacker e a Internet, e que você
precisará saber para funcionar na comunidade hacker.
</p>
<p>Por volta de 1991 eu aprendi que muitos hackers que têm o inglês como
segunda língua usam isso em discussões técnicas mesmo quando compartilham
a mesma língua materna; foi relatado naquele momento que o inglês tem um
vocabulário técnico mais rico que qualquer outro idioma e, portanto,
é simplesmente uma ferramenta melhor para o trabalho. Por razões semelhantes,
as traduções de livros técnicos escritos em inglês são muitas vezes insatisfatórias (quando são feitas).
</p>
<p>Linus Torvalds, um finlandês, comenta seu código em inglês
(aparentemente nunca lhe ocorreu fazer o contrário). Sua fluência em
inglês tem sido um fator importante na sua capacidade de recrutar uma
comunidade mundial de desenvolvedores para o Linux. É um exemplo que vale a pena seguir.
</p>
<p>Ser um falante de língua nativa não garante que você tenha habilidades
de linguagem boas o suficiente para funcionar como hacker. Se a sua escrita
é semialfabetizada, gramaticalmente incorreta e cheia de erros ortográficos, muitos hackers
(inclusive eu) tenderão a ignorá-lo. Embora a escrita desleixada não signifique
invariavelmente um pensamento descuidado, geralmente achamos que a correlação é forte
— e não temos lugar para pensadores desleixados. Se você ainda não pode escrever com competência, aprenda.
</p>
<div class="mediaobject"><img src="./img/glider.png" /></div>
</div>
</div>
<div class="sect1">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both"><a id="status"></a>Status na Cultura Hacker</h2>
</div>
</div>
</div>
<div class="toc">
<dl class="toc">
<dt><span class="sect2"><a href="#respect1">1. Escreva software de código aberto</a></span></dt>
<dt><span class="sect2"><a href="#respect2">2. Ajude a testar e depurar software de código aberto</a></span></dt>
<dt><span class="sect2"><a href="#respect3">3. Publique informação útil</a></span></dt>
<dt><span class="sect2"><a href="#respect4">4. Ajude a manter a infraestrutura funcionando</a></span></dt>
<dt><span class="sect2"><a href="#respect5">5. Sirva a cultura hacker em si</a></span></dt>
</dl>
</div>
<p>Como a maioria das culturas sem uma economia monetária, a cultura hacker funciona
baseada em reputação. Você está tentando resolver problemas interessantes,
mas o quão interessante eles são, e se suas soluções são realmente boas,
são algo que apenas seus pares técnicos ou superiores são normalmente capazes de julgar.
</p>
<p>Consequentemente, quando você joga o jogo hacker, você aprende a
manter a pontuação principalmente pelo que outros hackers pensam de sua habilidade
(é por isso que você não é realmente um hacker até que outros hackers consistentemente o chamem assim).
Este fato é obscurecido pela imagem de hackear como trabalho solitário;
também por um tabu hacker-cultural (gradualmente decadente desde o final
da década de 1990, mas ainda potente) contra a admissão de que o ego ou
a validação externa estão envolvidos na motivação de todos.
</p>
<p>Especificamente, a cultura hacker é o que os antropólogos chamam de <span class="emphasis">
<em>cultura da dádiva</em></span>. Você ganha status e reputação, não por dominar outras pessoas,
nem por ser belo, nem por ter coisas que outras pessoas desejam, mas sim por dar as coisas.
Especificamente, dando seu tempo, sua criatividade e os resultados de sua habilidade.
</p>
<p>Existem basicamente cinco tipos de coisas que você pode fazer para
ser respeitado pelos hackers:
</p>
<div class="sect2">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="respect1"></a>1. Escreva software de código aberto</h3>
</div>
</div>
</div>
<p>O primeiro (o mais central e o mais tradicional) é escrever
programas que outros hackers pensam serem divertidos ou úteis,
e fornecer os fontes do programa para toda a cultura hacker usar.
</p>
<p>(Nós costumávamos chamar essas obras de "software livre",
mas isso confundiu muitas pessoas que não tinham certeza exatamente
do que "livre" significava. A maioria de nós agora prefere o termo software
“<a class="ulink" href="http://www.opensource.org/" target="_top">open-source</a>”).
<sup><a href="./translation.html#note7" title="Nota do tradutor" class="transl-note"><span>[7]</span></a></sup>
</p>
<p>Os semideuses mais reverenciados da cultura hacker são pessoas que escreveram programas
competentes que atendiam a uma necessidade generalizada e os deram, de modo que agora todos os usam.
</p>
<p>Mas há um pouco de um ponto histórico bem aqui.
Enquanto os hackers sempre buscaram os desenvolvedores de código
aberto entre eles como o núcleo mais duro da nossa comunidade,
antes da metade da década de 1990, a maioria dos hackers trabalhava
em código fechado. Isso ainda era verdade quando eu escrevi a primeira
versão deste HOWTO em 1996; foi preciso a integração do software de código aberto
depois de 1997 para mudar as coisas. Hoje, "a comunidade hacker"
e "desenvolvedores de código aberto" são duas descrições para o que é
essencialmente a mesma cultura e população — mas vale lembrar que
isso nem sempre foi assim (Para mais sobre isso, veja <a class="xref" href="#history" title="Nota Histórica: Hacking, Open Source, e Software Livre">a seção chamada
“Nota Histórica: Hacking, Open Source, e Software Livre”</a>.)
</p>
</div>
<div class="sect2">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="respect2"></a>2. Ajude a testar e depurar software de código aberto</h3>
</div>
</div>
</div>
<p>Também servem aqueles que ficam e depuram software de código aberto.<sup><a href="./translation.html#note8" title="Nota do tradutor" class="transl-note"><span>[8]</span></a></sup>
Nesse mundo imperfeito, inevitavelmente, passamos a maior parte do tempo de
desenvolvimento de software na fase de depuração. É por isso que qualquer
autor de código aberto que pensa irá dizer-lhe que os bons
testadores beta (que sabem descrever claramente os sintomas, localizar
bem os problemas, tolerar os erros em uma versão rápida e estão dispostos a
aplicar algumas rotinas simples de diagnóstico) têm seu valor avaliado em rubis.
Mesmo um desses pode fazer a diferença entre uma fase de depuração que é
necessária, um pesadelo exaustivo e uma que é meramente um incômodo saudável.
</p>
<p>Se você é novato, tente encontrar um programa em desenvolvimento que esteja
interessado e seja um bom testador beta. Há uma progressão natural entre ajudar
a testar programas, ajudar a depurá-los, e ajudar a modificá-los.
Você aprenderá muito dessa maneira e gerará um bom carma com pessoas que irão ajudá-lo mais tarde.
</p>
</div>
<div class="sect2">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="respect3"></a>3. Publique informação útil</h3>
</div>
</div>
</div>
<p>Outra coisa boa é coletar e filtrar informações úteis e
interessantes em páginas da Web ou documentos como
listas de Perguntas Frequentes (FAQ), e disponibilizá-las.
</p>
<p>Os responsáveis pelos maiores FAQs técnicos
recebem quase tanto respeito quanto os autores de código aberto.
</p>
</div>
<div class="sect2">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="respect4"></a>4. Ajude a manter a infraestrutura funcionando</h3>
</div>
</div>
</div>
<p>A cultura hacker (e o desenvolvimento de engenharia da Internet)
são mantidos por voluntários. Há muito trabalho sem glamour, mas necessário,
que precisa ser feito para manter as coisas funcionando — administrar listas de discussão, moderar grupos
de notícias, manter grandes sites de arquivos de software,
desenvolver RFCs e outros padrões técnicos.
</p>
<p>As pessoas que fazem bem esse tipo de coisa recebem muito respeito,
porque todos sabem que esses trabalhos são um enorme consumo de tempo e não
são tão divertidos como brincar com código. Fazer isso mostra dedicação.
</p>
</div>
<div class="sect2">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="respect5"></a>5. Sirva a cultura hacker em si</h3>
</div>
</div>
</div>
<p>Finalmente, você pode servir e propagar a própria cultura (por exemplo,
escrevendo um guia preciso sobre como se tornar um hacker :-)).
Isso não é algo que você terá posicionado para fazer até que já
esteja pela área por algum tempo, e se torne bem conhecido por uma das
quatro primeiras coisas.
</p>
<p>A cultura hacker não possui líderes, falando exatamente, mas tem heróis culturais,
chefes tribais, historiadores, e porta-vozes. Quando você estiver nas
trincheiras o suficiente, você poderá se tornar um desses. Cuidado:
os hackers desconfiam de ego inflado em seus chefes tribais, então,
visivelmente alcançar esse tipo de fama é perigoso. Ao invés de
lutar por isso, você tem que posicionar-se de forma que caia no
seu colo, e depois seja modesto e gracioso sobre seu status.
</p>
<div class="mediaobject"><img src="./img/glider.png" /></div>
</div>
</div>
<div class="sect1">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both"><a id="nerd_connection"></a>A Conexão Hacker/Nerd</h2>
</div>
</div>
</div>
<p>Ao contrário do mito popular, você não precisa ser um nerd para ser
um hacker. No entanto isso ajuda, e muitos hackers são de fato nerds.
Ser um pária social ajuda você a se concentrar nas coisas
realmente importantes, como pensar e hackear.
</p>
<p>Por esse motivo, muitos hackers adotaram o rótulo "geek" como um
emblema de orgulho — é uma maneira de declarar sua independência
das expectativas sociais normais (bem como um gosto por outras
coisas como a ficção científica e jogos de estratégia que
geralmente fazem parte de ser um hacker). O termo "nerd" costumava ser
usado dessa maneira na década de 1990, quando 'nerd'
era um pejorativo leve e 'geek' era um bastante mais severo; Em algum momento,
depois dos anos 2000, eles mudaram de lugar, pelo menos na cultura popular
dos Estados Unidos, e agora existe uma cultura significativa de orgulho-geek entre
pessoas que não são técnicas.
</p>
<p>Se você consegue se concentrar o suficiente em hackear para ser
bom nisso e ainda ter uma vida, está tudo bem. Isso é muito mais
fácil hoje do que era quando eu era novato na década de 1970;
A cultura dominante é muito mais amigável para os tecno nerds agora.
Há ainda um número crescente de pessoas que percebem que os hackers
são geralmente amantes de alta qualidade, assim como maridos/esposas.
</p>
<p>Se você é atraído por hackear porque você não tem vida,
está OK também — pelo menos você não terá problemas para
se concentrar. Talvez você tenha uma vida mais tarde.
</p>
<div class="mediaobject"><img src="./img/glider.png" /></div>
</div>
<div class="sect1">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both"><a id="style"></a>Pontos sobre Estilo</h2>
</div>
</div>
</div>
<p>Novamente, para ser um hacker, você deve entrar na mentalidade hacker.
Há algumas coisas que você pode fazer quando não está em um computador
que parecem ajudar. Elas não são substitutas para hackear (nada é), mas muitos
hackers as fazem e sentem que elas se conectam de forma básica com a
essência de hackear.
</p>
<a id="do_this"></a>
<div class="itemizedlist">
<ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<p>Aprenda a escrever bem em seu idioma nativo. Embora seja um
estereótipo comum que os programadores não conseguem escrever,
um número surpreendente de hackers (incluindo todos os mais
completos que conheço) são escritores muito hábeis.
</p>
</li>
<li class="listitem">
<p>Leia a ficção científica. Vá à convenções de
ficção científica (uma boa maneira de conhecer hackers e proto-hackers).
</p>
</li>
<li class="listitem">
<p>Junte-se a um hackerspace e faça coisas (outra
boa maneira de conhecer hackers e proto-hackers).
</p>
</li>
<li class="listitem">
<p>Pratique artes marciais. O tipo de disciplina mental
necessária para as artes marciais parece ser semelhante em importantes
formas ao que os hackers fazem. As formas mais populares
entre os hackers são definitivamente artes asiáticas de mãos vazias,
como Tae Kwon Do, várias formas de Karatê, Kung Fu, Aikido ou Ju Jitsu.
Esgrima ocidental e artes da espada asiática também têm seguidores visíveis.
Em locais onde é legal, tiro de pistola vem aumentando em popularidade
desde o final da década de 1990. As artes marciais mais hackerianas são aquelas
que enfatizam a disciplina mental, o relaxamento da consciência e o controle
preciso, em vez de força, atletismo ou tenacidade física.
</p>
</li>
<li class="listitem">
<p>Estude uma disciplina de meditação real. O favorito perene entre
hackers é o Zen (importante, é possível beneficiar-se do Zen sem adquirir
uma religião ou descartar uma que você já possui). Outros estilos
também podem funcionar, mas tenha o cuidado de escolher um que
não exija que você acredite em coisas loucas.
</p>
</li>
<li class="listitem">
<p>Desenvolva um ouvido analítico para música. Aprenda a
apreciar tipos peculiares de música. Aprenda a tocar bem um
instrumento musical, ou a cantar.
</p>
</li>
<li class="listitem">
<p>Desenvolva sua apreciação por trocadilhos e jogo de palavras.
</p>
</li>
</ul>
</div>
<p>Quanto mais dessas coisas você já fizer, mais é provável que você
seja um biotipo hacker natural. Por que essas coisas em particular,
não está completamente claro, mas elas estão conectadas com uma combinação
de habilidades do lado esquerdo e direito do cérebro que parece ser importante;
hackers precisam ser capazes de ambos, raciocinar logicamente, e dar um passo fora da lógica
aparente de um problema imediatamente.
</p>
<p>Trabalhe tão intensamente quanto você brinca e brinque tão intensamente
quanto você trabalha. Para verdadeiros hackers, os limites
entre "brincar", "trabalho", "ciência" e "arte" tendem a desaparecer,
ou se fundir em uma brincadeira criativa de alto nível. Além disso,
não se contente com uma gama limitada de habilidades. Embora a maioria
dos hackers se autodescrevam como programadores, eles são muito provavelmente
mais do que competentes em várias habilidades relacionadas —
administração de sistema, web design e solucionar problemas de hardware
em PC, são algumas habilidades comuns. Um hacker que é administrador de sistema, por outro
lado, é provavelmente bastante habilidoso na programação de scripts
e em web design. Os hackers não fazem as coisas por metade; se eles
investem em uma habilidade, eles tendem a ficar muito bons nela.
</p>
<p><a id="not_to_do"></a>Finalmente, algumas coisas para <span class="emphasis"><em>não</em></span> fazer.
</p>
<div class="itemizedlist">
<ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<p> Não use um ID de usuário ou apelido bobo ou grandioso.
</p>
</li>
<li class="listitem">
<p>Não entre em guerras flamejantes na Usenet (ou em qualquer outro lugar).
</p>
</li>
<li class="listitem">
<p> Não se chame de "cyberpunk", e não perca seu tempo com quem o faz.
</p>
</li>
<li class="listitem">
<p>Não publique ou envie por e-mail textos cheios de erros ortográficos e gramática ruim.
</p>
</li>
</ul>
</div>
<p>A única reputação que você fará fazendo qualquer uma dessas coisas
é como um twit<sup><a href="./translation.html#note9" title="Nota do tradutor" class="transl-note"><span>[9]</span></a></sup>. Os hackers têm longa memória — pode demorar anos