Sinal verde para Dojo organizado pela Globo.com

segunda-feira, 18 abril 2011

No último sábado (16 de abril de 2011) foi organizado mais um Dojo no Rio de Janeiro, desta vez com apoio da Globo.com. Ele ocorreu na Barra da Tijuca, entre 14:00 e 17:30, tendo um intervalo para o delicioso coffee break patrocinado pela empresa.

Descontração durante Coffee Break patrocinado pela Globo.com

Mais de 25 pessoas participaram do encontro, incluindo algumas figurinhas marcadas do Dojo Rio e bastante gente nova.

Mais da metade dos participantes levantou a mão quando perguntamos quem nunca tinha participado de um Dojo, o que foi ótimo, pois conquistamos novos adeptos. Dentre os dojozeiros de longa data, participaram: Álvaro Justen, Cláudio Berrondo, Leandro Thimóteo e Oscar Marques. Contamos ainda com duas participações internacionais: Josemar da Costa Magalhaes (da Angola) e Marcelo Flores Henrique (do Peru), que demostraram bastante habilidade programando.

Palestra de Abertura de Francisco Souza

Como estávamos iniciando um novo grupo de Dojo, escolhemos problemas mais simples: um grupo começou com o Fizzbuzz e o outro trabalhou no Cheque por extenso. Quando o primeiro grupo resolveu o Fizzbuzz, eles começaram a brincar com o problema do Telefone. O segundo grupo permaneceu no Cheque por extenso do início até o fim. Ambos grupos desenvolveram em Python e o código-fonte resultante pode ser encontrado no Github.

Grupo que brincou com o problema do Cheque por extenso

Grupo que resolveu o FizzBuzz e o brincou com problema Telefone

Algo que ajudou bastante no encontro foi o uso de semáforos físicos, ambos desenvolvidos usando Arduino e integrados aos computadores usando dojotools. O semáforos ajudaram bastante os novatos a entenderem quando podiam interromper a dupla em ação, enquanto o dojotools fazia com que a dupla percebesse imediatamente testes quebrados.

Novo semáforo em uso – ajudou iniciantes a entenderem a hora de interromper a dupla

Semáforo 2.0 (por Álvaro Justen e Tati Al-Chueyr) e semáforo 1.0 (por Álvaro Justen, Bernardo Fontes e outros)

Segundo os participantes, um dos pontos positivos deste Dojo (fora o coffee break ;)) foi ter acontecido no sábado – algo que viabilizou a presença de pessoas que trabalham e estudam durante a semana e portanto não conseguem participar dos demais Dojos. Dentre os pontos a serem melhorados, ficou a sugestão de variar a linguagem de programação – algo que sem dúvida será feito nas próximas edições.

Foi um prazer organizar este encontro junto com colegas da Globo.com, incluindo Igor Macaúbas, Francisco Souza, Rafael Martins, Hugo Seixas, Hugo Tavares e Andrews Medina – os dois últimos infelizmente não puderam participar desta edição, mas contribuiram diretamente com sua organização. Mais duas pessoas da empresa merecem ser citadas: Demetrius Nunes e Thaina Zanotti , sem os quais o Dojo da Globo.com não teria se tornado realidade. Do pessoal de fora da empresa, queria agradecer em especial ao Álvaro Justen – tanto pela madrugada que viramos implementando o segundo semáforo, quanto pelo apoio no próprio dia do evento.

Sobreviventes ao fim do Dojo

Obrigada a todos que participaram! Esperamos organizar o próximo Dojo em breve, e contamos com a presença de todos!

Mais informações:

Retrospectiva

🙂

  • coffee break +++++++
  • troca de ideias e experiências durante coffee break
  • dojo no final de semana
  • veio um monte de gente
  • todo mundo participou
  • semáforo
  • infraestrutura
  • organização bacana

😦

  • timidez no início
  • faltou sinalização de onde era o dojo
  • atraso para começar
  • pares falando baixo

Melhorar

  • cartaz explicando funcionamento do dojo
  • explicar melhor TDD
  • variar linguagem
  • sinalizar melhor o Città
  • sugestão de linguagem por novatos
  • pares têm que falar mais alto
Anúncios

ForkinRio Python – 13/06/2010

segunda-feira, 14 junho 2010

Galera,

Rolou ontem mais um ForkinRio Python. A ideia foi de fazê-lo majoritariamente remoto, portanto, só estávam presentes de corpo e alma:

Nos encontramos às 10:00 da manhã, entretanto, perdemos muito tempo tentando achar uma maneira alternativa ao dimdim para poder realizar a reunião remotamente. Testamos primeiro uma outra ferramenta online para conferências que o Mário havia pesquisado. A ferramenta é a tokbox. É uma ferramenta online que, para até 20 pessoas na conferência, pode ser usada de graça. Para esse número de pessoas, achamos bastante razoável a usabilidade, o problema é que ela não tinha screen sharing. Depois testamos uma conferência via Skype, mas havia o mesmo problema. No Skype não poderíamos usar câmeras e dividir a tela. Por fim, tivemos a ideia de fazer um screen cast, mas já estava bem tarde e resolvemos começar o trabalho.

Não progredimos muito. Primeiro porque bastante tempo foi gasto para o Diego e eu entendermos o código, já que não havíamos participado dos últimos Forks. Depois, como alguns tinham compromissos mais tarde, não poderiam demorar muito.

O Mário nos explicou as ideias definidas no último de primeiro separar os métodos e depois encapsulá-los em classes. Mas, achamos melhor, antes disso fazer um ajuste fino nos métodos já definidos. Como antes tudo era um código só, ainda havia muito lixo legado em alguns métodos. Além disso, haviam algumas (várias) variáveis e chamadas de métodos que possuíam nomes que não imprimia valor nenhum ao programador que lê. Por último, os arquivos HTML estavam uma zona no que diz respeito a identação. Como todo programador gasta mais tempo lendo código do que escrevendo, nós optamos por tornar o código tanto das interfaces como os de algum métodos mais legível.

O resultado está neste repositório no Github. Aprendemos bastante sobre a maneira que o CherryPy dialoga para montar os fluxos e também o modo que os arquivos de template fazem para acessar variáveis e terem códigos Python dentro deles. Houve uma crítica ferrenha à tal modo e algumas comprações com o modo que o Django e o Web2py dialoga com os templates.

Para o próximo encontro, nos comprometemos em continuar essa refatoração. Pretendemos terminá-la para definirmos quais serão os próximos passos do Fork. Como no próximo domingo teremos jogo do Brasil na Copa do Mundo, o encontro fica para o domingo seguinte. Então, dia 26 de Junho nos encontramos para trocar mais uma bolinha sobre Python.

Até a próxima,

Bernardo Fontes


Primeiro DojoRio@Petrópolis (29/05)

domingo, 13 junho 2010

Um sábado após o PythonCampus em Petrópolis aconteceu o primeiro DojoRio@Petrópolis, o problema resolvido foi o FizzBuzz e depois dele como ainda tinha sobrado tempo tentamos resolver uma contagem regressiva, porém esse último não foi concluído.

Participantes:
César Frias
Luiz Bonsaver
Valdinei dos Santos
Joe Rabelo
Natasha Paiva
Alex Amaral
Bruno Lima
Rafael Santos
Fernanda Fontenelle
Rodrigo Cacilhas
Friedmann Gerber
Guilherme Gualberto

O que foi bom:
Bastante gente participando
A presença de pessoas sem conhecimento em Python

O que podemos melhorar:
Um teclado melhor
A participação de todos os presentes
Desenvolver um software que ao salvar o arquivo ele já rode os testes diretamente
Trazer novos desafios
Levar um lanche

Gostaria de agradecer a coordenação do IST, principalmente a Adriana Racco que ajudou bastante e liberou uma sala para o DojoRio@Petrópolis. Sábado dia 19 tem mais…


DojoRio@Niterói – 10/06/2010

sábado, 12 junho 2010

Galera,

Aconteceu nessa última quinta-feira mais uma sessão do DojoRio@Niterói. A sessão foi caracterizada pela heterogeneidade dos participantes. Estavam presentes professores, calouros do Curso de Ciência da Computação, veteranos, mestrandos, profissionais da área de TI, professores, historiadores e até a Luciana Cavalini que atua com o pessoal da Medicina no desenvolvimento do OSHIP.

O problema escolhido foi o do jogo de boliche. Dado uma lista de jogadas compostas por frames das jogadas individuais, tínhamos que retornar o total de pontos. A linguagem utilizada foi Ruby. A entrada foi definida como uma lista de listas e a saída um inteiro que representasse o total da pontuação. O spare era definido por um ‘/’ e o strike por um ‘x’.

O problema caminhou bem, mas o mais interessante foi o fato de o pessoal ter discutido bastante sobre questões sobre a modelagem do problema. Foi bem pensada a maneira de abordar o problema para não cairmos na armadilha clássica na computação de se fazer uma só função que acaba por ter N responsabilidades. Fizemos bastante uso de Orientação à Objetos levando em considerações questões como estado de um objeto e herança. Além disso, rolou uma explicação muito completa sobre o conceito de bloco e o uso dele em Ruby.

Haviam 24 presentes, sendo eles:

A review foi bastante proveitosa e tivemos como pontos positivos:

  • O Dojo continua cheio ++++++++
  • Bastante discussão +++
  • Ter sido em Ruby ++++++++++++
  • Explicação do conceito bloco em Ruby ++++++++
  • Ctrl + Z +++
  • Ambiente físico
  • Calouros participando dos dos Dojos
  • Problema interessante ++
  • Código em inglês
  • Arrumar um estágio pela participação no Dojo
  • Muita gente programou
  • Aprender as regras do boliche
  • Uso de orientação à objetos +
  • Comida +++++++++
  • Coca-cola
  • Refatoração
  • Pessoal que não vinha faz um tempo veio
  • Mas e quando…? Os novos estão começando a saber responder esta pergunta
  • Últimos 4 Dojos = 4 linguagens diferentes = poliglota
  • Aprendizado de convenções e culturas que envolvem a lingaugem
  • Gente nova +
  • 4 C’s (colaborar, compartilhar, comunidade e conhecimento)
  • Aprendizado usando a teoria dos jogos sem perceber
  • Aniversário do Dukão ++++++
  • Pessoal falando mais alto no computador
  • Paticipação da Luciana +
  • Matinhon deu as caras +
  • Mulherada mostrando como se programa
  • O nível da galera
  • Professores presentes +++
  • Informalidade
  • Muitas novidades

Os pontos a serem melhorados foram:

  • Migué do Martinhon +++
  • Bolo para o parabéns
  • Esquema de cores do Gedit
  • Faltou a apresentação inicial do pessoal
  • Abuso de Ctrl + Z
  • Faltou um mouse +
  • Cabeça cheia == código ruim
  • Ter que falar e ouvir as pessoas arrumando as coisas para fechar a sala
  • Computador dos outros dificulta por causa do teclado
  • Acanhamento dos professores +
  • Pessoas indo embora no meio da sessão
  • A entrada não estava clara
  • Ter sido em Ruby
  • Código em inglês
  • As regras do não foram 100% seguidas
  • Atrasos
  • Falatório da platéia +
  • Renata não ter programado ++
  • Ter que aprender a jogar boliche
  • Muito não programaram +
  • Algumas pessoas ficarem de espectadores
  • Ignorância em Ruby
  • Oliver não programou

Ficou como sugestão:

  • Rever o formato do Dojo para torná-lo mais compatível com o número de participantes
  • Definir o problema antes e escrever no quadro
  • Fazer um Dojo em C
  • Fazer um Dojo em PHP
  • Usar um computador mais “default”
  • Continuar fazendo Dojos em Ruby

Esse Dojo se caracterizou por ter sido um dos mais explicativos, digamos assim. Houve muita discussão teórica de boas práticas de programação, o que é essencial para essa garotada nova já começar com o passo certo. Mas, como o Dojo não acaba aí, depois ainda rolou uma MESA GIGANTE na nossa Cantareira que tinha de tudo, desde caipiras até um pessoal nerd programando um programa para sortear os times para um bolão. O fato de eu ter feito o programa (em Python, claro) e o Brasil ter ficado comigo são meras coincidências!

Até a próxima,

Bernardo Fontes


DojoRio@Niterói – 20/05/2010

segunda-feira, 24 maio 2010

Galera,

Rolou nessa última quinta-feira mais uma sessão de Coding Dojo na UFF. Essa sessão foi muito interessante porque contou com a presença de vários calouros! Eles foram incentivados a participar do Dojo devido às apresentações que eu e o Andre Oliveira fizemos em uma das aulas deles para falar sobre o DojoRio, #horaextra, PythonCampus e tudo mais. Olha um vídeo que o Henrique Bastos fez de todo mundo:

Como tinha muita gente nova, o problema que nós escolhemos foi o do FizzBuzz. O problema andou bem e caímos em uma questão interessante em um momento. Foi proposta uma refatoração, mas quando ela começou a ser feita, começou de maneira confusa e, no final de tudo, acabamos “refatorando” e deixando o código da mesma maneira que estava antes da “refatoração”. Isso mostra que a refatoração não é algo que deve ser tratado como apenas uma “limpeza de código”. Ela deve ser tratada com cuidado para que a limpeza não venha a resultar só em bagunça. Afinal, de que adianta um quarto limpo, mas bagunçado?

Haviam 24 pessoas nessa sessão! Recorde! Segue a lista:

Os pontos positivos que o pessoal levantou foi:

  • Os calouros comparecerem em massa
  • A apresentação feita por cada um antes de começar
  • Sugestões diversas
  • Sutilezas na refatoração
  • O pessoal novo suando para resolver o problema
  • Muita gente!
  • A sala fixa
  • O pessoal falou alto para expor as ideias
  • O problema
  • O conhecimento compartilhado
  • Ter a chance de aprender uma linguagem nova
  • Ter sido em Python
  • Usar Python no ensino
  • Os “gurus” de Python ajudando
  • O pessoal das antigas é receptivo, engraçado e paciente
  • As opiniões dos mais experientes
  • O respeito dentro do grupo
  • Não ficar nervoso mesmo lá na frente
  • Desenvolver melhores técnicas para programar
  • O modo como o Dojo é feito ajuda no ensino de programação
  • Explicações iniciais muito boas
  • Resolver o problema
  • Usar TDD com Baby Steps
  • Várias pessoas programando
  • Pair Programming
  • Consegue-se aprender muito
  • Fandangos grátis
  • Vários calouros querem voltar!!!

Os pontos a serem melhorados foram:

  • Não deu para todos programarem
  • O horário é tarde
  • Podemos pedir uma pizza?
  • Faltou comida e bebida
  • O código ficou em português
  • O Fandangos rolando na mão da platéia atrapalhou
  • Mini-mouse
  • Usar como um tipo de semáforo (não usamos o dojotools)
  • Faltaram cadeiras
  • O tempo de 5 minutos ficou muito grande
  • Ficar um pouco perdido com o código
  • As mesas ficaram atrapalhando o caminho
  • Poderíamos ter feito mais 1 problema
  • Poderia ter sido mais rápido
  • Pitacos do Certified
  • Não ter café

Ficou de sugestão:

  • Voltar com o hábito de levar comida ao Dojo
  • Diminuir o tempo para 4 minutos
  • Fazer introduções sobre conceitos de programação
  • Os calouros participarem dos outros eventos
  • Continuar programando em Python para os iniciantes aprenderem mais
  • Fazer o próximo em Java
  • Fazer o próximo Pascal
  • Fazer o próximo Ruby

Vale a pena ressaltar que todas as sugestões de linguagens para serem usadas nas próximas sessões foram dadas pelos calouros. Então, temos um pessoal novo e com desejo de aprender novidades. Além disso, eles já estão se organizando para começarem um dojo deles. É esse o espírito galera!

Até a próxima quinta-feira,

Bernardo Fontes


ForkinRio[3] de Python

terça-feira, 4 maio 2010

Pessoal,

Aconteceu nesse último domingo a terceira reunião do ForkinRio de Python. Apesar de algumas faltas, o número do pessoal que compareceu foi bastante legal e o novo local – a casa do Vinícius Teles – contribuiu muito para o desenrolar do encontro. Isso sem contar o pessoal novo que apareceu nessa reunião e o Mauro George que merece ser citado por passar por 2 horas de viagem para se juntar a nós.

Estiveram presente no encontro:

Para passar para vocês que não puderam comparecer, vou fazer um resumo dos pontos positivos e do que podemos melhorar que foram levantados na nossa retrospectiva.

Antes de mais nada, a mudança do local e a infra que pudemos usar foi essencial. Espelhamos uma mesma tela em três monitores e todos puderam acompanhar todos os códigos ao mesmo tempo.

O fato de termos dois rubistas presente na reunião acabou por gerar discussões de alto nível comparando as linguagens. As comparações iam desde questões de sintaxe quanto questões bem profundas das linguagens. Entretanto, as comparações não eram para fomentar a competição do que é melhor, mas sim para entendermos as formas de fazer o mesmo comando nas duas linguagens e o que podemos fazer em uma e não podemos na outra.

Como nós não somos capazes de discutir pouco, essas dicussões não se limitaram às diferenças entre as linguagens. Acabamos por levantar um sério questionamento sobre onde usar Java. Também rolou uma conversa muito interessante sobre como é importante, na nossa área, você aprender e trabalhar ao lado de outras pessoas. Para fechar com chave de ouro, tivemos um grande debate sobre orientação à objetos.

Para esse resultado, foi essencial todos terem colocado os códigos que produziram em suas respectivas contas do Github. Pelo formato que o próprio Github fornece, a nossa dinâmica ficou bem suave. Inclusive, surgiu a ideia de fazermos um ForkinRio remoto para termos a experiência (apesar de todos concordarem que o encontro presencial é muito melhor).

Além disso, surgiu a ideia de fazermos um repositório no Github onde colocaríamos o que nós achamos de mais interessante em cada exercício. Assim, geraríamos um apanhado geral do que ficou legal para que o pessoal que não teve como ir à reunião pudesse ver depois.

Além da galera que faltou, o que nós não achamos legal foi o fato de alguns exercícios não terem sido resolvidos e também de não termos colocado em prática algumas idéias como a do Benchmark e a dos podcasts. Entretanto, tentaremos implementá-las na próxima reunão.

Falando sobre próximo encontro, quando será? Bem, para colocar nossa ideia em prática, o primeiro encontro remoto será no domingo que vem, dia 08/05. Sim, nos dias das mães às 09:00. Para não criar muita confusão com nossas mães a reunião deve durar até a hora do almoço já serão pouquíssimos exercícios. Serão somente dois do Google Python’s Class: Log Puzzle Exercise e o Copy Special Exercise.

A reunião presencial, por sua vez, acontecerá no dia 15/05, às 09:00 no esquema de sempre. Para essa reunião serão cobrados a leitura e os exercícios da Parte V do livro.

Espero todos lá!

Abraços,

Bernardo Fontes


Dojo Niteroi

segunda-feira, 5 abril 2010

Como foi o Coding Dojo Rio em Niterói

Na quinta-feira passada (25 de Março de 2010) aconteceu o Coding Dojo Rio em Niterói, como de costume. Foi muito interessante pois tivemos a presença de muitos novatos e muitos que há tempos não apareciam! Devido a presenca de muitos novatos iniciamos o Dojo com um problema simples (Fizz Buzz) para passar a dinamica do Dojo. Depois fizemos outro problema menos simples. Esse problema devia pegar uma lista de numeros e retornar em forma de intervalos. A linguagem usada foi Python.

Participantes (20)

  • Álvaro Justen
  • André (NTI)
  • Andre Oliveira
  • Antônio Canhota
  • Bernardo Botelho
  • Cristiane “Bastos”
  • Diego
  • Diego Moreira Guimarães
  • Eduardo Zanuto
  • Fernando Campello
  • Flávio Amieiro
  • Henrique Bastos
  • Leandro
  • Mariana Bedran Lesche
  • Mário Mariani
  • Pedro Menezes
  • Rafael Moulin
  • Richard Fuchshuber
  • Thiago Diogo
  • Willen Silva

Feedback dos Participantes:

Carinha feliz :-)

  • Galera Nova
  • Galera Sumida
  • Comida e Bebida
  • Sala Boa com Ar-condicionado
  • Pessoal respeitando horário
  • Todo mundo programou
  • Aprendizado em Python
  • Linux e Gedit
  • Descobrir que coisas simples do Python as vezes não são simples quando os objetivos não estão bem claros.
  • Presença da Senhora Bastos
  • Problemas legais
  • Organização da atividade
  • Experiencia rica e interessante
  • Estimula e desenvolve o trabalho em equipe
  • Colaboração e participação do grupo
  • Descontração
  • Experientes ajudando os novatos. Valiosas trocas de experiencia
  • Respeito mutuo
  • Discussões no quadro branco
  • Refatoração de código

Carinha triste :-(

  • Timidez
  • Ausência de Contador Regressivo
  • Quadro branco dificilmente apagando
  • Esqueci Comida
  • Perdemos foco do problema
  • Erramos no “Baby Steps”
  • Inibição
  • Falaram demais
  • Não correspondi as minhas espectativas
  • Horario tarde
  • Pouco conhecimento em Python
  • Faltou microfone.
  • Faltou codigo colorido.
  • Faltou o Dojo Tools
  • Galera falando no Vermelho
  • Alguns sairam mais cedo.

Comentários

  • Friaca
  • Problema Repetido
  • Poderia ter melhor divulgacao
  • Busca de problemas pelos participantes
  • Tentar foca na proposta do problema
  • Nos manter no foco do problema

As fotos, tiradas estão no Flickr do Pedro Menezes.

Para quem estiver interessado (e para quem já participa) e ainda não está inscrito na lista, entre já na lista de discussão do Dojo Rio. Lá conversamos sobre as sessões, discutimos os problemas abordados, sugestões etc.

Toda quinta-feira, às 18h30min, em Niterói.

Endereço: Rua Passo da Pátria, 156, Sala 406A, bloco E (prédio velho) – Campus Praia Vermelha, em Boa Viagem, Niterói/RJ. Veja o local do Coding Dojo em Niterói pelo Google Maps.

Se você nunca veio, participe! O Coding Dojo é gratuito, tem ambiente descontraído, inclusivo e proporciona o aprendizado de todos – venha e chame seus amigos!