Concrete Logo
Hamburger button

Como foi a GopherCon Brasil 2018

  • Blog
  • 10 de Outubro de 2018

No final do mês passado, entre 27 e 29 de setembro, participei da GopherCon Brasil, que rolou em Florianópolis. Foi uma experiência bastante interessante, que vou tentar repassar um pouquinho neste post. Bora lá?

Logo no primeiro dia eu participei do workshop “Go e TDD para quem sabe Python”, que para mim foi uma aula muito boa de Go! Apesar de não trabalhar e não ter experiência com Python e nem com Go, foi interessante perceber que temos uma comunidade muito forte, atuante e inclusiva, preocupada com a evolução da linguagem. Como exemplos temos a evolução do gerenciador de dependências “go dep” e “go mod”, mas também temos coisas que ainda não chegaram e que a comunidade aguarda ansiosa, como o melhor tratamento de erros e generics. O ponto alto do workshop foi a dinâmica de DOJO para exercitarmos o TDD na prática. Você sabia que “Go não tem generics”? Pois bem! Aprendi neste workshop.

No segundo dia o evento ganhou outro formato, com palestras, networking, happy hour e muita gente! A abertura foi um keynote da Cassandra Salisbury, do Google, que falou sobre a importância da comunidade em um projeto open source, o relacionamento das pessoas, o incentivo a boas práticas na comunidade, etc. Nesta conversa eu percebi a importância da comunidade em um projeto tão grande como esse.

Também conheci um projeto incrível do Daniel Fireman, com front, back, jobs e comunicação com IOT feitos em Go. Sim, o front é Go! #surpreso #ficaadica. O GopherJS é um sistema para monitorar a temperatura do quarto e da cidade, comparando os valores. Em seguida, o Marwan Sulaiman do The New York Times contou um caso muito interessante de error handler em Go, no qual ele mostra como o time dele ultrapassou uma deficiência de Go.

Tivemos ainda no segundo dia uma Talk sobre Blockchain com Geth, do Rafael Calixto. A ferramenta é desenvolvida em Go e foi criada para o blockchain do Etherium, que hoje em dia já tem mais transações que a rede do Bitcoin e pode ser usado tanto para rede pública como para redes privadas de blockchain.

Na sequência, a palestra do André Carvalho falou sobre alocação de memória em Go. Ele explicou como são as rotinas de alocação de memória com escape e com elas funcionam, além do seu relacionamento com o garbage collector, que apesar de trabalhar no modelo de “stop-the-world” roda em paralelo com o seu código. Neste momento eu pensei “PQP, os caras que criaram isso para pensar em algo deste tipo são fodas, merecem o nosso respeito”. Depois a Eloisa Potrich me apresentou ao Hugo (não me pergunte o porquê do nome, só sei que foi assim). O Hugo é um gerador de sites estáticos feito em Go, que parece ser muito fácil e rápido de usar, com suporte a temas e markdown e compatível com github pages.

Com Alvaro Viebrantz vi um projeto de estação meteorológica feita em Go que roda em um ARM da Orange de 64MB da RAM. Sério, nem sabia que rodava Linux enxuto assim! E como se não bastasse, o palestrante mostrou outro projeto de chatbot com Google Cloud, que usa voz, é feito em Go, e controla um braço mecânico. Para finalizar o dia, Luciano Ramalho mostrou várias alternativas para usarmos Set em Go, o que pode suprir a deficiência de não termos Set na Standard Library. Ele mostrou várias idéias, passando por polêmicas até interessantes… Você sabia que “Go não tem generics”?

O terceiro e último dia já deslanchou com o keynote do Rodolpho Eckhardt, do Google. Esse foi um daqueles momentos em que no final você fica pensando sobre a vida, sobre a sua postura, fica aquela pulga atrás da orelha. Ele comparou motivação a uma caixa preta, na qual temos vários níveis de motivação. No primeiro nível temos uma motivação simples, de autoenganação, que muitas vezes não é suficiente. Sempre precisamos de mais motivação, como o uso da pressão social, e podemos chegar à conclusão de que precisamos de incentivo. Gostamos de nos ver como CEO de nós mesmos, mas somos somente o gerente de relacionamento. Podemos nos autoinfluenciar, mas é difícil encontrar os incentivos que vão funcionar bem para nós e é importante encontrarmos algo que queremos fazer, que precisamos fazer, e o que acabamos fazendo sem querer, nos autoenganando.

Carlos Alexandro Becker, mantenedor do GoReleaser, #orgulho, mais de 3000 stars, falou sobre a ferramenta GoReleaser, que como o próprio nome sugere serve para gerar releases de apps Go, suporta cross compile, pacotes, rpm, deb, homebrew, integração com github, etc. Fiquei impressionado como um projeto despretensioso ganhou tanta importância e notoriedade. Na sequência, o Ignat Korchagin mostrou como foi usar golang como linguagem de script em sistemas Linux. Ele mostrou passo a passo como foram os desafios e evolução da solução e terminou usando gorun, um projeto open source para execução do arquivos .go sem as limitações do “go run” standard. Ainda registrou um executor binário para arquivos com extensão “.go” usando binfmt_misc do kernel linux.

Daniela Petruzalek, por sua vez, falou da melhor feature de Go, a comunidade! E tenho que concordar com ela, depois de contar um pouco da sua trajetória e dar dicas de diversas maneiras para contribuir com projetos open source, fica claro o quanto a comunidade é importante para o Go. Depois a Marian Montagnino mostrou um app em Go que, usando a Webcam, consegue identificar objetos que são apresentados em tempo real, usando GoCV/OpenCV com modelos TensorFlow já treinados da COCO DataSet sem usar nenhum provedor Cloud (#awesome). Sem muito alarde, na última talk do dia Michael Yuan da Elastic mostrou uma solução open source para APM de apps em Go, que pode ser usado junto com os demais produtos da Elastic, como ElaticSearch, LogStash, Beats e Kibana. Eu não conhecia o APM, não imaginava que estava tão completo… Mesmo com o agente para Go em beta tem muito potencial.

Por fim, Elton Minetto falou sobre Serverless em Go, comparando a velocidade para cold start na AWS Lambda. Spoiler: Go ficou em segundo, atrás do Python. Ele ainda mostrou algumas ferramentas como GoCloud, Serveless, OpenFass e gofn, os pontos positivos e negativos de cada uma. Na sequência tivemos várias Lightning talks com temas variados, por exemplo como diminuir imagens Docker com Multi Stage Build, Watson assistant API para chatbot, projeto open source vitrine social, times de alta performance, etc.

O que tenho a dizer? O evento como um todo está de parabéns! Alto nível técnico dos palestrantes, o evento foi muito bem organizado, com pontualidade, muito inclusivo, e com uma organização sempre preocupada com as opções de coffee break e happy hour, para atender a todos os públicos. O lugar também é bonito e agradável, a um quarteirão da praia, o que gera um ponto a mais na motivação e aprendizado =) Fica a dica! Em breve as palestras gravadas estarão disponíveis no portal InfoQ.

Estava lá e teve outras impressões ou as mesmas? Deixe seu comentário abaixo! Até a próxima!