« HE:labs
HE:labs

Rails Rumble 2013

Postado por Mauro George em 21/10/2013

Para quem não sabe, no último fim de semana (19 e 20 de outubro), rolou o Rails Rumble 2013, que de acordo com o site deles, é:

The Rails Rumble is a distributed programming competition where teams of one to four people, from all over the world, have 48 hours to build an innovative web application, with Ruby on Rails or another Rack-based Ruby web framework. After the 48 hours are up, a panel of expert judges will pick the top ten winners.

Ou seja, times de até 4 pessoas, do mundo todo, têm 48 horas para fazerem uma web app com Rails ou algum Rack-based Ruby web framework. Para depois ser julgado e definido o top 10. Se quiser saber mais, dá uma olhada aqui.

Tá, mas por que isto é legal?

Sério mesmo? Então vamos lá.

Diversão

Juntar os amigos para 2 dias de hacking, não pode dar errado. No time que participei ouvimos rock, funk, música de desenho e eletrônico. Assistimos vídeos do Youtube, etc. Nos divertimos o fim de semana todo enquanto fazíamos o nosso app.

Desafios

Eu sou muito ruim em infraestrutura, mas avassalo em OOP e Design Patterns, por exemplo. ;p

No rails rumble deste ano, tínhamos uma máquina no Linode e tivemos que colocar a app para rodar lá. Por sorte, têm coisas que ajudam, como os StackScripts. Usamos este aqui e resolveu o problema, mas apenas depois de muita porrada para tê-lo rodando.

Aprendizado

Dos desafios realizados, vem o aprendizado. Este ano, depois da porrada que tomei do linode, adquiri algum conhecimento em infra que pode me ajudar nas próximas situações como esta.

Dicas

Então, se amarrou e quer participar de algo assim? Então vamos para as dicas:

Decida como vai ser o andamento do projeto

Depois de já ter uma ideia de projeto, defina o andamento do mesmo. Por exemplo: vamos ficar o fim de semana todo, incluindo madrugadas? Vamos trabalhar apenas durante o dia?

No nosso caso, ficamos até quando o sono chegava, depois dormíamos pouco e voltávamos. Fizemos isto mais pela diversão. Em um Startup DEV trabalhamos em um ritmo sustentável.

Dois dos times da HE:labs fizeram o projeto remotamente. Nesse caso, alinharam as agendas para decidirem como iriam proceder.

Planning

Planeje o minimo para os dias de desenvolvimento. Desenhe as tela de sua app, quebre as histórias, e em seguida, as tarefas. Utilize alguma ferramenta para isto, no nosso caso usamos o trello.

Durante

Sempre converse com os participantes do time em caso de dúvida. Divirta-se durante todo o processo: seja ouvindo música, zoando os amigos, codando etc.

Abaixo uma foto do nosso dashboard. Contém um feed do twitter com busca de coisas sobre o Rails Rumble, uma parte para playlist do Youtube e um timer que mostra quanto tempo falta para a competição acabar.

image

Qualidade

Mantenha a qualidade do código. Não é porque temos pouco tempo que não terá qualidade no projeto. Isto quer dizer testes automatizados, 100% de cobertura, integração contínua etc.

Abaixo um rake stats que tirei durante o desenvolvimento, se não me engano, no sábado à noite.

+----------------------+-------+-------+---------+---------+-----+-------+
| Name                 | Lines |   LOC | Classes | Methods | M/C | LOC/M |
+----------------------+-------+-------+---------+---------+-----+-------+
| Controllers          |    48 |    37 |       3 |       7 |   2 |     3 |
| Helpers              |     2 |     2 |       0 |       0 |   0 |     0 |
| Models               |    65 |    53 |       3 |       2 |   0 |    24 |
| Mailers              |     0 |     0 |       0 |       0 |   0 |     0 |
| Javascripts          |    17 |     0 |       0 |       0 |   0 |     0 |
| Libraries            |     0 |     0 |       0 |       0 |   0 |     0 |
| Acceptance specs     |     9 |     7 |       0 |       0 |   0 |     0 |
| Controller specs     |   188 |   146 |       0 |       0 |   0 |     0 |
| Model specs          |   147 |   121 |       0 |       0 |   0 |     0 |
| Routing specs        |    72 |    54 |       0 |       0 |   0 |     0 |
+----------------------+-------+-------+---------+---------+-----+-------+
| Total                |   548 |   420 |       6 |       9 |   1 |    44 |
+----------------------+-------+-------+---------+---------+-----+-------+
  Code LOC: 92     Test LOC: 328     Code to Test Ratio: 1:3.6

Times da HE:labs

Nós, da HE:labs, estivemos presentes em 3 times:

Se gostou de algum, favorita aí ;p

Conclusão

Participe de algo assim, seja do Rails Rumble, do Node knockout, Startup DEV Rumble, não importa qual.

Se não quiser esperar até o próximo evento, chame mais 2 ou 3 amigos e vá desenvolver uma app no próximo fim de semana! E poste o resultado aqui no blog. :)

Compartilhe

Sabia que nosso blog agora está no Medium? Confira Aqui!