Como aprendi a programar aos 13 anos

Artigo publicado originalmente no Medium.

Ou “crônicas de um hacker juvenil”

Essa é uma história que, por muito tempo, demorei pra contar abertamente. Seja por ferir um valor de integridade que hoje tenho como não negociável ou só pelo prazer de uma vida digital secreta, no fim das contas ela mostra um pouco sobre o começo da minha relação com computadores e programação.

Meus primeiros passos na frente de um conjunto de mouse e teclado foram provavelmente parecidos com os seus: uma máquina barulhenta conectada a um monitor de tubos, que mostrava na tela uma arte aleatória no Paint ou um conjunto de palavras no Word (aliás, veja nesse clipe que fim levou o Clippy, aquele assistente antigo do Microsoft Office).

A diferença é que, já nessa época, eu procurava por mais possibilidades ali. Como Pablos Holman diz nessa palestra:

Hackers têm uma mente que é otimizada para a descoberta e para descobrir o que é possível. […] Ao invés de perguntar “o que isso faz?”, eles se perguntam “o que eu posso fazer com isso?”

comando dir rodando no terminal do windows
Da época em que exibir as pastas do sistema era interpretado como vírus

Essa forma de pensar me levou a descobrir como programar uma página em HTML usando o Bloco de Notas (sem nem imaginar como transformá-la em um www) ou fazer uma tela preta com letras brancas mostrar texto sem parar (e abrir isso em todos os computadores na biblioteca do colégio).

Acontece que, como todo bom adolescente, sentia aquela ânsia de explorar e descobrir ainda mais essas tais possibilidades. E de repente, com uma recém-chegada banda larga e um recém-atualizado Windows Vista, descobri que conseguir aquela vida digital secreta não era tão difícil assim.

Com a internet, também cresceram os tais vírus de computador, incluindo o temido Trojan (ou “cavalo de tróia”), que vinha disfarçado de algum outro tipo de arquivo, como uma música ou documento, e permitia ao invasor ter acesso completo ao computador da vítima: entre arquivos, histórico de digitação e acesso à webcam, nada estava a salvo.

Descobri que se eu configurasse um endereço para o meu computador na internet (conhecido como IP estático) e fizesse alguém abrir um arquivo disfarçado que eu mandasse pelo MSN, eis que minha tela ficava mais ou menos igual a essa:

captura de tela e câmera por acesso remoto
Conseguia ver de verdade se a pessoa era 100% confiável, legal e sexy

Aproveito para deixar meu pedido de desculpas atrasado a você, colega da 8ª série que pode estar lendo esse texto; fique tranquilo(a) que seus dados estiveram seguros comigo, e espero que ajude alegar que todas as invasões foram por fins científicos!

Mas acontece que nem no mundo dos hackers tudo são flores: não era tão fácil assim fazer seu amigo abrir o tal arquivo que permitia a conexão: seja pelo nome musica_de_rock.exe parecer um pouco estranho ou, principalmente, pelo tal do antivírus avisando que essa música é cilada, Bino.

E assim chegamos enfim ao título do texto: a solução para esse problema não envolvia buscar outras formas de enganar os colegas, mas sim criar o meu próprio programa! Afinal, eu poderia entender o que faz os programas reconhecerem a tal música como vírus e editar o código na fonte para que o arquivo final não fosse reconhecido como algo malicioso.

captura de tela de um software de programação
Sabe o crush antigo que você tem ciúmes mas não diz? É o C# quando vê Delphi…

Era a solução perfeita: minha tela passou então a se parecer com essa ao lado, misturando código e blocos funcionais. Eu conseguia criar tanto a tela que veria como invasor (que coisa incrível personalizar a cor de fundo!) quanto o arquivo que a outra pessoa ia abrir, e até inserir comandos como “abrir o drive de CD”. A sensação adolescente de poder era ótima, junto com aquele frio na barriga de estou fazendo algo errado…

No fim das contas, não lembro o que me fez deixar de lado a vida de trabalhar para fugir dos algoritmos dos antivírus ou explorar o computador alheio; talvez a entrada da música ou a mudança de escola tenham tido esse efeito. De um jeito ou de outro, essa história hoje me traz alguns aprendizados principais:

  1. Com um objetivo em mente, surge o caminho a seguir. Pensar em aprender programação visual orientada a objetos não era a solução mais óbvia na época, mas saber o que eu queria fazer no fim me ajudou a buscar formas de chegar lá que eu ainda não conhecia (e que agregaram muito no longo prazo).
  2. Programação é sobre resolver problemas de forma mais simples. Até hoje levo isso comigo, usando o que sei de programação para gerar mais resultados com menos recursos e transformar dados em informações. As possibilidades aumentam demais quando se entende o que pode ser automatizado ou sistematizado.
  3. Ter seus valores claros ajuda a tomar decisões baseadas neles. Quem lê esse texto e me ouve dizer que não uso nenhum software pirata pode sentir uma ponta de hipocrisia, mas acredito que parte de crescer envolve entender suas próprias regras de vida. Conhecer suas âncoras pessoais é um passo importante para melhores decisões pessoais e profissionais.

Esse texto é o primeiro de uma vontade antiga de transformar pensamentos e histórias em palavras!

Artigo publicado originalmente no Medium.