Como aprendi a fazer Dojo com o pessoal da Lambda3

Tive o prazer de participar em janeiro de um Coding-Dojo com o pessoal da empresa Lambda3, organizada pelo grande Rafael Rosa Fu!

Embora exista mais de uma forma de fazer, acho que o jeito que fizemos funcionou muito bem. Vou explicar como fizemos:

Seleção de problemas

O organizador seleciona 3~5 problemas de alguma lista de problemas de programação (como o Ruby Quiz, por exemplo). Quando começar o Dojo, ele apresenta um resumo dos problemas e faz uma votação para escolher um problema.

Foco!

Apenas um computador é necessário, isso ajuda a manter todos focados no problema. A pessoa mais próxima do computador começa sendo o “piloto”, escrevendo o código inicial. A pessoa à esquerda do “piloto” será o “co-piloto” e sua função é ajudar o “piloto”.

Troca de posições

A cada 7 minutos (ou algum outro tempo pré-determinado que for adequado), todos trocam de lugar: a pessoa à esquerda do “co-piloto” se torna o novo “co-piloto”, o “co-piloto” agora começa a “pilotar” (programar) e o atual “piloto” entra no final da fila. Isso se repete até o final do Dojo.

TDD / BDD

Todo o desenvolvimento é orientado à testes, avançando através de baby steps. Quando testes estiverem falhando (“fase vermelha”), ninguém pode comentar nem sugerir nada, exceto o “co-piloto”. Obviamente, quando os testes estiverem passando (“fase verde”) todos podem comentar e sugerir implementações e refatorações.

Retrospectiva

No final, é interessante fazer uma retrospectiva, onde todos os desenvolvedores escrevem em post-its verdes coisas boas que aconteceram durante o Dojo e coisas ruins em post-its vermelhos.

O organizador recolhe os post-its e os cola num quadro, separado por tipo/cor. Depois de ler em voz alta todos os post-its, é interessante reservar uma área “Discussões” no quadro, para anotar discussões que ocorrerem durante e no final do Dojo.

Isso tudo é importante para não repetir os erros do Dojo atual num próximo Dojo e deixar claro o que foi acertado.

Referências

Segue um link dos slides do Serge Rehen sobre Coding-Dojo: http://www.slideshare.net/serge_rehem/coding-dojo-em-5-minutos.

Minha palestra sobre Ruby on Rails no “Café com Java”

Ontem aconteceu mais um encontro do evento “Café com Java”, na Caelum, organizado pelo Eduardo Bregaida. Eu palestrei sobre Ruby on Rails, com um ligeiro foco para o pessoal do Java.

Um obrigado especial à minha namorada Aline Nepomuceno, por filmar minha apresentação! :-)

Seguem os slides e o vídeo da palestra:

(Se não conseguir ver os slides, clique aqui)

(Se não conseguir ver o vídeo, clique aqui)

E algumas fotos:

O 1º encontro oficial do [self SP]; foi um sucesso!

Depois de quatro meses de vida, conseguimos realizar o primeiro encontro oficial do [self SP];, graças ao @fer_bass (que organizou quase tudo), à PoisonLabs (que patrocinou o CoffeBreak), à Caelum (que liberou o auditório para o evento) e ao Hugo Borges (que gravou o evento todo).

Obrigado a todos os palestrantes e aos participantes, foi realmente muito bacana!

Seguem algumas fotos (e os títulos das palestras):


“OpenGL com GLKit” (xissburg)



“CoreGraphics Performance” (Glenn Marcus)



“Conhecendo e entendo o ARC” (Ferbass)



“Testes automatizados para sua aplicação iOS” (Ricardo Valeriano)



“Funcionalidades dinamicas do Objective-C” (Diego Chohfi)

Como acelerar a exibição das suas rotas no Rails

Procurando uma forma de acelerar a saída do comando “rake routes”, encontrei uma gem interessante: https://github.com/bcaccinolo/routes.

Ela cria um cache da saída do comando e renova o conteúdo automaticamente quando você atualiza o arquivo config/routes.rb.

Não é necessário incluir a gem no Gemfile do projeto, basta incluir o diretório oculto /.routes no .gitignore. Para instalar, rode: gem install routes. Depois, entre no projeto e rode: routes.

4 coisas simples que a Apple poderia implementar no iOS

  1. Permitir mais de uma assinatura para e-mails (atualmente só é possível criar uma única assinatura);
  2. Tranferência de fotos e vídeos via bluetooth (qualquer celular ridículo faz isso);
  3. Permitir a inclusão de imagens ou vídeos dentro da app Mail (atualmente você precisa abrir a foto ou vídeo e selecionar a opção que manda por e-mail);
  4. Acessar de forma mais prática algumas configurações, como por exemplo ativar / desativar o 3G.

Como gerar diagramas de projetos Rails

A dica é velha, mas ainda é muito útil!

Pra gerar diagramas (de models, de controllers, etc) de seus projetos Rails, você pode utilizar a gem railroad. Testei com projetos Rails 2.3.x e Rails 3.0.x e funcionou em ambos os casos.

Instalação

gem install railroad

Criação do diagrama

Pra gerar uma imagem com o diagrama, entre no diretório do projeto e rode:

railroad -M -out models.dot

Para mais opções, verifique a documentação do projeto: http://railroad.rubyforge.org/

Pra vizualizar arquivos *.dot, editá-los ou convertê-los em uma imagem, utlize o software Graphviz, o qual possui versões pra Mac OSX, Linux, Windows e até Solaris: http://www.graphviz.org/

Outra opção, é gerar um arquivo *.svg diretamente:

railroad -M | dot -Tsvg > models.svg