Coding Dojo #9

Depois de um longo tempo sem atividades, voltamos a ter mais uma sessão de Coding Dojo. Aconteceu na última sexta-feita, dia 19 de Novembro de 2010, na sala da Infobits na Unimontes.

Dessa vez decidimos participar do dojo quando o @diego_sistemas soltou no twitter que tinha realizado um dojo com o pessoal da Infobits. Óbvio, ficamos com vontade e inveja. Smiley de boca aberta

@diego_sistemas é a pessoa que está à frente da Empresa Júnior do curso de Sistemas de Informação da Unimontes e tem usado sessões de Coding Dojo para disseminar o conhecimento entre os novos participantes da Infobits afim de formar uma equipe de desenvolvimento, com foco em software web e utilizando como linguagem principalmente o Python .

O @diego_sistemas está de parabéns e sempre poderá e contará com o apoio desse grupo, afinal ele participa do dojo desde o início, e não apenas por isso, está também demonstrando vontade de ajudar e compartilhar conhecimento com aqueles à sua volta. Esse tipo de iniciativa, seja onde for, sempre poderá contar com nossa disposição e apoio.

O Dojo

Começou por volta de 19:30 e foi até as 21:30. Fomos para a sessão sem escolha ou preparação de um Kata por um dos membros, o que acontece normalmente é, uma pessoa leva um kata e apresenta o problema para os demais, a partir daí vamos para a resolução do problema.

Dessa vez  ninguém preparou ou levou um kata. Pegamos então os problemas propostos na maratona de programação e selecionamos um para resolvê-lo.

O Kata

O problema foi do Plágio Musical, que pode ser encontrado aqui: http://homepages.dcc.ufmg.br/~rodolfo/aedsi-2-10/TPs/plagio.pdf

Bem divertido e desafiador, além de fazer com que alguns participantes relembrassem seus tempos de músicos Smiley surpreso.

Python

Em especial, o autor deste post nunca tinha trabalhado com a linguagem python. E teve uma grata surpresa.

Simples, elegante e sem ter que ficar cuspindo início e fim de blocos de código com begin, end, {, }… entre outros símbolos. Para isso basta identar o texto, o que contribui bastante para limpeza e clareza do código.

No geral acho que o pessoal também tem gostado bastante de codificar em Python.

Considerações Finais

Não chegamos a resolver o problema por completo, o que acaba não sendo o objetivo do dojo, mas com certeza chegamos a resolver grande parte dele, com os testes unitários passando até o ponto em que precisávamos elaborar o algoritmo principal.

Tal algoritmo também já estava bem difundido a possível solução entre os membros, o que me leva a acreditar que em mais 1hr de dojo e mais alguns testes unitários sairíamos de lá com ele completamente resolvido.

Vou ficar devendo o código dessa vez, mas apenas temporariamente, porque o @diego_sistemas ou o @herberthamaral estão devendo subir o código para nosso repositório.

Acabamos não marcando um próximo, mas com certeza acontecerão outros. Nos vemos nos próximos episódios.

Coding Dojo #8

No dia 22/04/2010 fizemos o primeiro Coding Dojo com Ruby.

A linguagem é realmente diferente das que estávamos acostumados e não conseguimos render tanto, mas ainda há o interesse por Ruby no nosso meio.

Usamos o RSpec como framework de testes. Também foi a primeira vez que fizemos um Coding Dojo com BDD.

Os participantes foram:

- Gostei :)

  • Ruby
  • Problema interessante (valeu, Elvis)

- Não gostei:

  • Dispersão.
  • Pouco conhecimento na linguagem.
  • BDD ainda é meio estranho.

O código se encontra no Google Code.

Próximo Coding Dojo

Olá pessoal, depois de um breve hiato no mês de março, vamos retornar com as atividades do DojoMoc.

Então passo aqui para convidá-los.

O próximo Coding Dojo acontecerá dia 20 de Abril de 2010, terça-feira, às 19:00hrs na Sala de Multimeios do Prédio 3 do Campus I da Unimontes.

Já passamos por diversas linguagens e frameworks, agora vamos experimentar o Ruby.

Contamos com a presença de todos.

Abraço.

Coding Dojo #7

Em mais um Coding Dojo, agora como o prometido, a cada duas semanas.

Coding Dojo

Presentes

  • Diego Caxito
  • Diego Guimarães
  • Elvis Luciano
  • Herberth Amaral
  • Jamilson Batista
  • Rafael Chagas

Linguagem: PHP

Unit testing Framework: PHPUnit

Kata

O problema proposto desta vez fugiu um pouco da rotina. Foi então apresentado um Kata Lúdico, como já feito anteriormente pelo pessoal DojoRio. Assim como eles, nos propusemos a resolver o Kata da clássica cantiga “Atirei o Pau no Gato”.

Nesse formato diferente o Kata chamou a atenção dos presentes e foi interessante tanto do ponto de vista da evolução do problema, quanto sua elaboração e refatoração do código para que ficasse o mais próximo do proposto pela canção.

Retrospectivas

Não Gostei :(

  • VIM como editor de código
  • Atalhos do teclado em Linux
  • Galera teve dificuldade com o VIM para edição do códgio

Pode Melhorar :|

  • Kata foi curto para o tempo do Dojo

Gostei :)

  • Kata foi divertido
  • Editor diferente
  • Dojo lúdico

Fotos

As fotos desse Coding Dojo podem ser conferidas aqui.

Repositório de código no ar

Agora temos também no ar nosso repositório de código.

Essa já era uma reivindicação antiga dos membros do DojoMoc, mas os códigos normalmente ficam no laptop do Herberth e ele já estava na promessa de a algum tempo colocar o código no ar para todos nós. Vlw Herberth.

Decidimos por expor o código no repositório do google, o Google Code, já que pode ser facilmente referenciado e acessado via SVN, além de ficar disponível para pesquisas na web. Assim podemos dar nossa pequena contribuição de referências para aprendizado e pesquisa na comunidade.

Ainda estamos atualizando com os códigos das sessões mais antigas, mas logo todos estarão disponíveis para acesso.

Fica então, como mais um ambiente para aprendizado e iniciação em Unidades de Teste, e nas linguagens que foremutilizadas nas sessões de Coding Dojo do DojoMoc. Até aqui já passamos por Java, C#, JavaScript e Python.

Quem quizer participar é simples, basta dar uma olhada aqui, qualquer um pode participar e esperamos por você.

Até o próximo Coding Dojo do DojoMoc, “Let’s Code“.

Coding Dojo #6

Ontem realizamos mais um CodingDojo na Unimontes. Diferente de todos os outros CodingDojo, este não foi feito na sala de multimeios como de costume, pois não tínhamos com quem pegar a chave (os responsáveis pelo CCET estão indo embora mais cedo nas férias e nem sempre podemos pegar a chave antes deles saírem), portanto fizemos a sessão numa sala de aula.

Como ficou decidido na nossa lista de discussão, a linguagem que seria usada nesse Coding Dojo seria Python. Tivemos algumas dificuldades com a linguagem no início, pois nem todos eram proficientes.

O problema escolhido foi o Áreas Sobrepostas (Overlapping Areas) que consiste em determinar se dois retângulos estão sobrepostos a partir de suas coordenadas num plano. O problema é aparentemente simples, mas não conseguimos resolve-lo em quase 1h30m de Dojo. A solução parcial pode ser encontrada no nosso repositório do Google Code.

Quatro pessoas participaram:

  • Diego Guimarães
  • Elvis
  • Henry
  • Herberth

Retrospectiva:

Gostei:

  • Linguagem (Python).
  • Problema interessante.
  • Gostei de aprender um pouco mais sobre Python.

Não gostei:

  • Ambiente de realização. 
  • Não teve fotos.
  • Pouca proficiência na linguagem.
  • Pouco tempo.
  • Código de produção junto com código de teste.

Retrospectiva

Ao iniciar suas atividades, o nosso Coding Dojo, DojoMoc, contou com uma presença considerável de participantes. Nas primeiras reuniões, que até aqui são um total de 5, a quantidade de pessoas era realmente um número expressivo, levando-se em consideração que a divulgação que restringiu-se apenas a conversas entre amigos, algumas mensagens no gtalk e alguns twittes.

O formato inicial de Coding Dojo adotado foi o do ParisDojo. Esse formato vem sofrendo adaptações para suprir melhor nossos interesses e necessidades.

A partir da terceira reunião, a quantidade de pessoas reduziu, mas a qualidade das sessões cresceu bastante, a cada Coding Dojo novo desafio, não apenas em Kata, mas em dificuldade, linguagem, quantidade de participantes; o que tem instigado mais e atraído para o DojoMoc um envolvimento maior dos presentes nas sessões.

No intuito de melhorarmos continuamente o DojoMoc, mantermos um espaço para troca de informações e compartilhar com a comunidade em geral, criamos este blog e um grupo de discussão (participe você também). Assim, com frequência estamos trocando experiências e informações, repercutindo não apenas os assuntos do Coding Dojo, mas também temas relacionados ao desenvolvimento em geral.

Além do espaço destinado a retrospectivas no Coding Dojo, que ao final de cada sessão acontece, precisávamos obter um feedback maior. Assim realizamos no grupo de discussão uma pequena enquete para saber dos participantes do DojoMoc o que eles estão achando do Coding Dojo e como eles esperam que seja. Abaixo seguem os resultados, com as opções que foram mais votadas.

Em quais dias da semana você gostaria que as reuniões do DojoMoc fossem realizadas? Terça-feira

Em quais dias você não iria no DojoMoc nem ferrando? Sábado e Domingo

Que Horário você consideraria ideal para as reuniões? 19:00hrs

Qual a duração máxima da reunião? 2hrs

Críticas e sugestões?

- A cada 15 dias pode trazer mais expectativa para a próxima reunião e tira da rotina de ficar indo toda semana.
- Deve-se cumprir horários

Postado os resultados ainda no grupo, houve um consenso em que, as reuniões do DojoMoc devem acontecer a cada 15 dias, nas terças-feiras, às 19:00hrs.

Esperamos que esse trabalho pela manutenção e melhoria do DojoMoc aconteça sempre, afinal, se não for pra ser divertido, colaborativo, de aprendizado e com a participação de todos, não está no espírito de um Coding Dojo e não serve para nós do DojoMoc.

A próxima reunião está marcada para terça-feira, dia 9 de Fevereiro de 2010, às 19:00hrs na sala de Multimeios do Prédio 3, do Campus 1 da Unimontes em Montes Claros-MG, contamos com vocês.

O que acharam? Dê também sua opinião.

Coding Dojo #5

No último dia 26 de Janeiro de 2010, foi realizado mais um Coding Dojo do DojoMoc. O Coding Dojo foi realizado às 19:00 e será a partir de agora a cada 15 dias, assunto a respeito dos ajustes que o Coding Dojo do DojoMoc está passando, ficaram para um próximo post.

Presentes:

Linguagem: JavaScript
Unit Testing Framework: QUnit

Kata
Desta vez como na última o Kata foi selecionado na hora pelos participantes do Coding Dojo. Assim o Kata selecionado foi o A Diversion, lido, interpretado e discutido no momento pelos presentes, discussão essa que tomou bem entre 10 e 15min.
Coding Dojo
Foi muito produtivo, com a participação ativa de todos, o que trouxe para o ambiente muita produtividade e foco em torno do desafio proposto aos participantes.
A desenvolvimento correu dentro da proposta do Coding Dojo, utilizando de TDD com Unidades de Teste bem definidas, a medida que a solução crescia cada vez mais eram refatorados não apenas o código de solução, mas também os testes escritos. Além de TDD e refatoração, desta fez mostrou-se mais amadurecido entre os membros do Coding Dojo a aplicação dos Passos de Bebê.
Todos esses elementos somados acima, fez com que esse Coding Dojo, fosse referenciado em outros blogs como o “Mais emocionante de todos”, aliado ao fato dos participantes terem permanecido no Coding Dojo até que todos os testes previstos para o problema proposto estivessem passando.
Retrospectivas
:( Não gostei:
  • Poderia ter mais gente
  • Atraso dos participantes
  • Pouca gente
  • Falta de IDE
:| Pode melhorar:
  • perdeu-se muito tempo para preparar o ambiente

:) Gostei:

  • Todos dominaram a linguagem facilmente
  • Javascript
  • Problema resolvido
  • Kata foi instigante
  • Participação de todos do começo ao fim (entenda fim como todos permanecerem enquanto não resolvessem o problema proposto)
  • Framework de testes em JavaScript (lembrando… QUnit)
  • Pensar sempre simples na solução ajudou bastante

Próximo Coding Dojo

O próximo Coding Dojo do DojoMoc ficou marcado para terça-feira, dia 9 de fevereiro de 2010 às 19:00hrs na sala de multimeios do prédio 3 da Unimontes.

Coding Dojo #4

No último dia 7 de janeiro de 201o, quinta-feira, foi realizado mais um Coding Dojo do grupo. Desta vez a presença foi bem limitada, na verdade apenas 3 pessoas, com Herberth, Luciana e Diego. Porém foi um dojo bastante produtivo e colaborativo, abando literalmente em Pizza e Cerveja no Jack’s Forneria

Coding Dojo

Apesar da presença de apenas 3 pessoas foi bastante produtivo, desta vez a linguagem adotada foi C#, utilizando como plataforma de desenvolvimento o Visual Studio 2008 com o framework de testes MSTest.

Houve a apresentação do Kata, uma breve discussão sobre o problema que durou entre 5 e 10, como Luciana ainda não havia participado de nenhum encontro foi apresentado para ela novamente os princípios e as regras do Coding Dojo. Assim, os participantes partiram para o desenvolvimento em busca da solução do problema que durou por volta de 50min sem intervalo de tempo desta vez.

Kata

O Kata desta vez foi selecionado por Herbert Amaral, escolhido em parceria com os participantes do Dojo, apresentado e discutido na hora, foi o problema How Big do Kata proposto aqui How Big, How Fast?.

Pela primeira vez conseguimos resolver todo o problema proposto, mesmo com a pequena quantidade de participantes.

Fotos

Todas as fotos podem ser conferidas aqui.


Coding Dojo #3

Hoje, dia 21 de Dezembro de 2009, segunda-feira, foi realizado mais um Coding Dojo. Mantivemos o que deu certo nas versões anteriores, como o formato RandoriKata, aplicação da linguagem Java com framework JUnit para suporte a construção de unidades de teste.

Agora também estamos no mapa dos Coding Dojo’s espalhados pelo mundo, confira.

Coding Dojo
Houve atraso para o início, pois esperou-se pela chegada de mais participantes. Assim o dojo iniciou-se às 19:15hrs, teve uma sessão de 40 min de trabalho para resolver o problema, uma breve pausa, depois mais 40 min.

Esta edição foi a que contou com a presença menos participantes, ao todo foram 5 (cinco), o que não possibilitou uma discussão mais ampla do problema, porém, por outro lado facilitou as trocas de par, além de propiciar um ambiente mais favorável à concentração e acompanhamento da evolução do desnvolvimento.

A construção das unidades de testes foi respeitada conforme as regras do Coding Dojo e assim houve bastante progresso no desenvolvimento do problema.

Kata
Desta vez foi preparada uma apresentação em slides do Kata. O desafio proposto foi o KataPotter que tem como objetivo a construção de um algoritmo que determine o preço de livros aplicados a uma determinada promoção.

Como entre as queixas dos encontros anteriores estava o entendimento do problema, para fins de facilitar este processo, alteramos o nome do kata para “KataCatope - a saga de um herói, para evitar a criação de confusão em torno da quantidade de livros. Os resultados dessas medidas podem ser conferidos mais abaixo. A apresentação deste kata pode ser conferida aqui.

Restropectivas
:) Gostei

  • Kata muito bom
  • TDD e Baby Steps foram bem seguidos
  • Dojo mais produtivo
  • Melhor Dojo até aqui

:| Pode melhorar

  • Quantidade de pessoas – dessa vez foram poucas
  • Break muito longo – poderia ser menor ou não ter break
  • Definir dia da semana – deve-se decidir um dia fixo na semana

:( Não gostei

  • Celular
  • Atraso para iniciar
  • Pausa muito grande

Fotos

Confira aqui as fotos do Coding Dojo #3

Próxima reunião
A próxima reunião ficou marcada para quinta-feira, dia 7 de Janeiro de 2010, o local é o mesmo. A pausa irá ocorrer por causa das festividades de fim de ano.

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.