O que dizer sobre o sprint do Serenata de Amor…

No final de semana dos dias 4, 5 e 6 de novembro rolou sprint no projeto Serenata de Amor… e foi muito bom!

Quem já trabalha com open source muito provavelmente já está acostumado com a ideia de sprints. Pra quem não conhece, sprints são períodos de tempo em que você, ou um grupo de pessoas, se juntam para contribuir com algum projeto. O objetivo maior de um sprint é trabalhar focado em resolver bugs, implementar features ou até mesmo melhorar documentação. Fora isso, também é uma oportunidade de trabalhar com outras pessoas que você não tem a oportunidade de trabalhar normalmente.

A Operação Serenata de Amor nasceu de uma combinação de necessidades de muitas pessoas: de ver Aprendizado de Máquina aplicado para melhorar nossas vidas, de aprender em quem devemos votar e de fazer algo a respeito do problema de corrupção que afeta o mundo inteiro.

Então como objetivo maior, o projeto irá produzir uma inteligência artificial capaz de identificar gastos suspeitos feitos pelos políticos brasileiros. Para fazer esse projeto acontecer, os sete desenvolvedores que fundaram o projeto criaram uma campanha no Catarse, uma plataforma de crowdfunding, para que pudessem se dedicar ao projeto integralmente durante dois meses.

Somos programadores, hackers, empreendedores, sonhadores, brasileiros, ativistas e indignados. Os desenvolvedores que fundaram o projeto. Somos especialistas que desejam parar por completo as nossas vidas para, por dois meses, nos dedicar apenas à Operação Serenata de Amor e criar os dispositivos necessários para identificar casos de corrupção e mal uso de dinheiro público. O time de elite é composto por sete pessoas, entre eles programadores, cientistas de dados, jornalistas e sociólogos. Além do grupo de elite, existe o corpo de voluntários.

Então, vendo a validade que o projeto tem para nossa sociedade, o Marco Rougeth, membro do grupy-rp, comunidade Python de Ribeirão Preto, que realiza encontros quinzenais buscando divulgar a linguagem, entrou em contato com o Cuducos, um dos integrantes do time de elite, que se dispôs a vir pra Ribeirão pra ajudar o corpo de voluntários a crescer. E assim, surgiu a ideia do final de semana de sprint.

Tudo começou na sexta à noite

Por volta das 19:30, as pessoas começaram a chegar no Ambiente CoNéctar, um espaço de coworking aqui em Ribeirão.

Oi meu nome é…

Como muitas das pessoas que vieram para o evento não se conheciam, fizemos uma roda e nos apresentamos uns aos outros, afinal, iríamos passar um final de semana trabalhando lado a lado desses desconhecidos.

E com vocês… Operação Serenata de Amor \o/

Finalmente, lá pelas 20h, quando todos que confirmaram presença no meetup tinham chegado, o Cuducos apresentou o projeto.

Mais de 30 pessoas

Além de conhecer um pouco mais sobre o objetivo do projeto, de como funcionou a campanha de arrecadação no Catarse e qual a motivação dela, preparamos nossos computadores instalando dependências, baixando bases de dados e rodando testes. Por exemplo, o projeto Serenata indica a utilização de uma plataforma open source chamada Anaconda. Essa plataforma prevê um ambiente propício para trabalhos de data science uma vez que se encarrega de instalar uma coleção de pacotes que vão ser utilizados nas análises sem que o usuário/desenvolvedor precise se preocupar com eles.

Ainda investigamos algumas issues abertas à procura do que trabalhar durante o final de semana. E depois disso, fomos comer e socializar um pouquinho mais em um barzinho ali perto.

No sábado…

Começamos às 9 da manhã. Pão de queijo e café pra dar aquela empolgação pra codar. Teve aula introdutória de pandas, jupyter notebook e testes. Os presentes se juntaram para praticar pair programming enquanto evoluíam suas idéias de análises exploratórias, ou criavam scripts de web scrapping para recolhimento automatizado de dados ou resolviam bugs em projetos paralelos como tapioca-jarbas, um wrapper para API do Serenata conhecida como Jarbas.

Teve até entrevista para o jornal local, você pode conferir o vídeo da entrevista aqui.

Como a galera tava empolgada. No fim da tarde pedimos pizza e buscamos cerveja, pra alegria da galera que queria comer mas não tava com vontade de largar o computador antes da meia noite :P

Eu aprendi sobre pandas, uma biblioteca para análise de dados, como escrever um setup.py mínimo para liberar um pacote Python no Python Package Index (PyPI). Também conheci o TestPyPI, plataforma de teste do PyPI, comecei esse blog aqui escrevendo meu primeiro blogpost falando do TestPyPI e também o código do módulo import caipyra (que tem issues abertas e contribuições são bem vindas =P).

No dia seguinte…

Mesmo o sábado rendendo até tarde, o domingo começou cedo e às 9h já estávamos no CoNéctar mais uma vez. Demos continuidade aos trabalhos do dia anterior, outras issues foram abertas e mais código foi escrito.

Por causa da familiaridade e carinho que tenho pelo Django ❤, somado ao fato que queria melhorar meus conhecimento sobre testes, preferi trabalhar no Jarbas, que estava com uma cobertura de testes de 66%. Pra você que pode não conhecer sobre testes e cobertura deles, a função principal de escrever testes é garantir que todo pedaço de código escrito funciona da forma esperada. Assim, salvo algumas exceções, mudanças no decorrer do projeto não devem quebrar os testes; e fica muito mais fácil refatorar e dar manutenção no código escrito.

Então com ajuda do Cuducos, eu e a Ju escrevemos testes para o Jarbas e hoje a cobertura de tests da API é de 100% \o/

O Cuducos foi embora as 16h mas o dia só acabou oficialmente às 20h quando os últimos sobreviventes decidiram fechar seus computadores e ir pra casa descansar.

Os últimos a irem embora

Contribua você também =)

O sprint acabou mas o projeto ainda tem issues abertas e muito trabalho pela frente. Não sabe como ajudar? Comece lendo o site da Operação, todas informações que coloquei aqui podem ser encontradas lá.

Já acha que pode contribuir com código? O projeto está num repositório do GitHub. Quer conversar com a galera antes de colocar a mão na massa? É só entrar no grupo do Telegram onde maior parte das conversas acontecem.

Você faz parte de um grupo ligado a tecnologia na sua cidade e gostaria de organizar um sprint? Nós do grupy-rp estamos disponíveis pra trocar mais ideias sobre como rolou o que organizamos aqui pelo Slack.


Coletividad é uma plataforma por mais oportunidades, experiências e escolhas melhores para as pessoas. Eventos em Design, Tecnologia & Empreendedorismo

Show your support

Clapping shows how much you appreciated Jessica Temporal’s story.