🪄 Uma pergunta frequente é "como começar a programar?". Sei que muita gente já escreveu sobre isso, mas como essa pergunta ainda aparece, vou respondê-la em primeira pessoa, focando em como deu certo para mim. Espero que você possa aproveitar a experiência para se inspirar. 1/9
A primeira vez que "escrevi algum código" foi ainda criança, usando ferramentas bem visuais: Delphi e RPG Maker. É fantástica a empolgação em rapidamente ter um feedback do que estou criando, resolver puzzles e ter a sensação de poder mandar o computador fazer o que quero. 2/9
Como primeiro passo, creio que o mais importante é criar gosto. Linguagens visuais e/ou educaionais como Scratch e Logo são voltadas para crianças, mas algumas graduações a usam. São úteis para o primeiro contato, para já ajudar a pensar em como se comunicar com o computador. 3/9
O que me fez migrar de Delphi/RPG Maker para uma linguagem textual foi querer colaborar num projeto opensource.
Sei que diversas pessoas aprenderam a programar de diferentes formas; conheço quem começou para fazer site de hentai, outro que foi para fazer warez, porém...
4/9
...o meu divisor de águas foi querer colaborar por 4fun no OpenKore - bot para o jogo Ragnarok, da qual gosto muito e é bem nostálgico para mim. Me sentir fazer parte da comunidade e ter feedback dos usuários a cada commit no SVN eram os meus motivadores para programar. 5/9
Então sempre quando me perguntam "como começar a programar?", eu sempre respondo para colaborar em algum projeto opensource, onde tenha uma comunidade para te apoiar e você se sinta motivado. Funcionou comigo e tenho esperança que dê também para um conjunto de outras pessoas.
6/9
No meu caso, eu já tinha um projeto em mente que queria colaborar, e você certamente já usa algum software opensource que gostaria de fazer parte. Mas se ainda não tiver ideia de onde ajudar, tem essa awesome list com vários projetos beginner friendly. github.com/MunGell/awesom…
7/9
Não se acanhe se a sua colaboração não for aceita de primeira, ou se for simples.
O meu primeiro commit foi de tradução. E um dos primeiros commits um dev escreveu um textão explicando o que eu devia melhorar no código - e isso é bom, pois ele estava me ensinando de graça!
8/9
E essa é a minha historinha. Resumindo: os dois principais pontos para mim foram começar com uma linguagem visual, e em seguida fazer parte de uma comunidade opensource. Talvez para ti o mesmo possa da certo.
Fim da thread. Espero que esses tweets tenha te inspirado. Valeu 🎉 9/9
Apendando na thread um tweet a mais.
Queria aprender C#, e então decidi colaborar no Ryujinx, um emulador de Nintendo Switch.
Assim abri alguns PRs - e um deles foram citados no release notes.
Isso é bem motivador, pois é algo útil para alguém e fiz parte do release ☺️
Apendando outro tweet.
Como disse, colaborar num projeto opensource é excelente para aprender a programar. E se for algo divertido, tal como um jogo, melhor ainda!
E temos esse game, bem completo, comunidade ativa, e muitas oportunidades mais ajudar:
📓 Na faculdade decidi fazer um paper como TCC, já que monografia é inócuo: puta trabalho para algo que ninguém lerá.
Optei em falar sobre segurança ofensiva e aproveitar um hype: protocolo IPFS.
Apesar do paper ser em português, ele já foi citado num artigo em inglês!
Porém...
+
Escrevi num ano e foi publicado no seguinte, na 2ª tentativa.
Dentre as razões para a recusa inicial: "a visão parece ser de um atacante criando uma botnet".
Mas isso é artigo de segurança ofensiva! Pensar como um atacante para antever os próximos passos e mitigá-lo.
+
Isso é frustrante. Não faz sentido deixar de publicar por ser a visão de um atacante. Cedo ou tarde a possibilidade será descoberta.
Tanto que 3 anos depois um outro artigo abordou sobre o mesmo tema, de forma bem mais aprofundada, e foi citado 14 vezes.
+
⚙️ Você sabe o que acontece quando manda o compilador executar?
Entender mais sobre os aspectos fundamentais da computação é importante para evoluir como desenvolvedor!
Bora explorar esse tópico nessa breve thread! 1/9
Começando pela definição: o que é um compilador?
Em linhas gerais, é converter a representação de dados A para a representação B, de forma que haja uma relação entre elas.
Por exemplo, Babel compila de JS para outra versão de JS (ex: ES6 -> ES5), ou num equivalente minificado
2/9
As etapas de compilação geralmente são: código fonte -> análise léxica -> parser -> análise semântica -> otimização -> geração de código.
Um compilador pode ter mais ou menos etapas, dependendo da complexidade exigida pela linguagem/arquitetura alvo/trade-off. 3/9
🦊 Novamente estou aqui para falar de um assunto random! Agora é sobre Furry e o Furry Fandom.
"Furry" é o tipo de arte da qual antropomorfiza animais, especialmente mamíferos - isto é, dar características humanas à raposa, lobo, gato...
Um exemplo típico de furry é o abaixo
1/12
Além desse significado, "furry" também pode se referir a um membro do fandom (ex: "eu sou furry").
"Fandom" quer dizer "um grupo de pessoas que se unem em torno de um gosto em comum".
Assim sendo, "furry fandom" é o "grupo de pessoas que compartilham o gosto por arte furry".
2/12
Existem outros fandoms (de anime, kpop...), e assim como cada um, o furry fandom também tem características únicas.
Uma bem marcante é o conceito de "fursona", isto é, um alter ego, a representação furry dentro da comunidade, um personagem próprio que você se identifica.
3/12
🎵 O estilo de música que mais gosto e consumo são de vocaloid, utau e utaite. É bem popular no Japão, mas fora de ciclos de otakus quase ninguém conhece... então lá vai uma breve thread explicando o que é, para quem sabe despertar a sua curiosidade! 🪡
1/10
Começando do começo, ou seja, com Vocaloid!
O termo vem do nome do software de sintetização de canto desenvolvido pela Yamaha. Quem já comprou algum instrumento certamente já conhece essa empresa, pois ela é líder no segmento.
2/10
A primeira versão foi lançada em 2004, mas o sucesso só viria na segunda, lançada em 2007, especialmente por apresentar a Hatsune Miku, que se tornaria a vocaloid mais popular.
Sim, o termo "vocaloid" pode se referir tanto ao software como a um dos personagens/voicebanks.