27.02.2014

Coding Dojo - GruPy - Fev/14

Postado às 22:30 por ale_borba

  • Data: 27/02/2014
  • Horário: 19:30
  • Linguagem: Python
  • Problema: Cheque por extenso
  • Formato: RandoriKata

Este foi o primeiro Coding Dojo do ano organizado pelo pessoal do GruPy e também o primeiro encontro do GruPy no novo escritório do iMasters. O problema escolhido foi o "Cheque por extenso" que, basicamente, tem como entrada um valor monetário e como saida o mesmo valor por extenso.

Tivemos neste dojo várias caras novas e discussões muito saudáveis e acaloradas a respeito de diversas práticas adotadas por programadores Python.

Veja como foi a retrospectiva:

Positivo

  • divmod() +
  • .join()
  • Quase flame sobre pep +
  • Pizza ++
  • pytest ++
  • Poucos ifs
  • Local novo ++
  • Python ++++
  • Discussão de soluções +
  • Todos participaram
  • Terminamos
  • Git
  • future import do unicode_literals
  • Muitos testes e funções
  • Perto do metro Faria Lima
  • Ótimo método para transmitir conhecimento e experiência +
  • Divertido
  • Apredizagem de features do Python
  • Conhecer novas pessoas ++
  • Sair da rotina
  • Diversão
  • TDD
  • Babysteps +
  • Aula de linguagem e lógica
  • Computador
  • Pouca gente

Negativo

  • Teclado
  • Sem flame de emacs vs vim
  • Touchpad ++
  • Falta de experiencia e péssimo em matemática
  • Teclado numérico +
  • Editor de texto +
  • Teclado ++
  • Resoluções um pouco confusas
  • PizzaHut
  • Pouca gente
  • Atraso
  • Não usamos dose.py
  • Testes de "sistema", não unitários

Let's hack the planet!

12.02.2014

Calendário Coding Dojos - Fev/Mar

Postado às 18:00 por ale_borba

Vamos lá pessoal! Estes próximos dias estão cheios de Coding Dojos organizados e/ou apoiados pela comunidade DojoSP.

Vamos a lista com seus respectivos links para inscrições:

Let's Hack!

14.01.2014

Coding Dojo - Assembly @ Germinadora

Postado às 22:30 por ale_borba

  • Data: 14/01/2014
  • Horário: 19:30
  • Linguagem: Assembly
  • Problema: FizzBuzz
  • Formato: RandoriKata

E começando o ano em baixo nível (literalmente), o nosso Coding Dojo do dia 14/01 foi utilizando Assembly! Isso mesmo! Assembly! A história é longa mas eu vou resumir aqui para vocês entenderem o porque das coisas terem mudado. :)

Originalmente este Coding Dojo seria para usar um algoritimo de proximidade, como foi proposto pelo Nicolas França em uma discussão no Facebook. Tudo estava confirmado e marcado para ser desta forma. Quem frequenta alguns Coding Dojos organizados por nós, sabe que, na maioria das vezes, a máquina que tem o ambiente montado ou que se monta o ambiente é a minha. Mas desta vez, meu note quebrou a tela e eu fui sem computador para o local do Dojo. Adivinhem o que aconteceu? É, pois é, ninguem levou computador.

Dessa forma ficou armado um impasse, como fazer um Coding Dojo sem computador? Começaram as divagações sobre o que fazer. Mas como eu disse uma vez, tire o computador de um developer e ele dará outro jeito de escrever seus códigos. De repente surgiram duas palavras chaves, Assembly e Lousa e ai deu no que deu! :)

Depois desse martirio todo, resolvemos fazer o FizzBuzz em Assembly. Com a ajuda do Danilo Belini, demos inicio ao processo. O Danilo deu uma rápida divagada sobre o assunto (se é que isto é possível) e depois começamos a criar nossas instruções.

Nem todos colocaram a mão na massa, talvez por medo (não julgo rsrs), mas todos deram seus pitacos e o Dojo foi muito divertido. No final esquecemos até de pedir a pizza.

Veja um pouco de como foi o Dojo nas fotos abaixo:

Let's Hack The Planet!

16.12.2013

Coding Dojo - Golang @ Germinadora

Postado às 22:30 por ale_borba

Para fechar o ano em grande estilo fizemos o nosso último Coding Dojo do ano na Germinadora, um lugar bem legal que vale a pena conhecer. E para melhorar ainda mais, a linguagem escolhida foi o Go, uma linguagem criada e mantida pelo Google e que, apesar de nova, é bem robusta e completa.

Tivemos algumas problemas de logistica, por ser o primeiro Codingo Dojo feito na Germinadora. Um deles foi que o piloto e o co-piloto ficaram de costas para a platéia, o que atrapalhou um pouco o andamento do dojo e o outro foram os perdidos que nunca tinha ido na Germinadora (que é muito bem localizada e fácil de chegar) e ficaram perdidos para chegar a tempo de pegar o início do Dojo. :P

Um outro problema que foi recorrente é o ambiente pré montado, alguns acharam que ficou demorado a configuração do ambiente mas, particularmente, acho que o que foi configurado lá no inicio do Dojo foi o que todo projeto precisa para iniciar e, por isso, faz parte do Dojo. Uma coisa que não foi legal e que aconteceu é que um dos princípios básicos do Coding Dojo foi quebrado por várias vezes, o TDD. Por várias vezes se escreveu código sem antes testar, mas isso foi bastante discutido na retrospectiva e, creio eu, resolvido. :)

Mas nem tudo foi ruim, como ponto positivo tivemos a participação de pessoas que nunca tinha ido a um Coding Dojo e junto com isso, uma visita de um dev de Floripa, o Nassor, que também acabou virando um dos mentores do Coding Dojo. Além disso, conseguimos mais um lugar para fazermos Coding Dojos, a Germinadora! :) (Obrigado Juan Bernabó e Léo Grijó, vocês são fodas!)

O código que geramos no Coding Dojo pode ser visto no repo oficial dos nossos Dojos: Oficial Mas o João Victor e o Nassor resolveram o problema utilizando Go e fizeram comentários bem legais, vale a pena dar uma olhada em ambos: João Victor e Nassor

Veja um pouco das fotos de como foi o encontro e também a retrospectiva:

Retrospectiva:

  • Pontos Positivos:

    • Go +++++++
    • Germinadora +++++++
    • Abstração
    • Coding Dojo +
    • Muitos testes
    • Teclado
    • Mais de 1 tutor +
    • TDD +
  • Pontos Negativos:

    • Pizza demorou +++++
    • Teclado / Touch Pad ++++
    • Códigos sem testes
    • Demorou para setar o ambiente
    • Faltou o semáforo
    • Localização +
    • Tempo +
    • Muitos testes
    • Piloto e Co-piloto de costas

Let's Hack The Planet!

13.09.2013

Coding Dojo - Dia do Programador @ iMasters

Postado às 22:30 por ale_borba

  • Data: 13/09/2013
  • Horário: 19:30
  • Linguagem: SmallTalk
  • Problema: Fatores Primos
  • Formato: RandoriKata

Para comemorar o Dia do Programador e a Sexta Feira Treze em grande estilo, resolvemos fazer um Coding Dojo utilizando a linguagem Smalltalk. Além de termos fugido do dia padrão para os Coding Dojos no iMasters que são em terças feiras.

Neste Coding Dojo tivemos a tutoria do @fer_bass, além de grande amigo, um excelente programador. Ele trouxe um problema já em mente, que foi o Fator Primo, e também já veio com a ideia de usarmos o Pharo como IDE para o Coding Dojo.

Tivemos alguns problemas no início, pois o HD do @fer_bass queimou na noite anterior e toda a apresentação introdutória e ambiente preparado estavam nele. Isso dificultou o inicio dos trabalhos, mas não impediu que a introdução a linguagem fosse abordade de forma bastante completa pelo Fernando.

Veja um pouco das fotos de como foi o encontro e também a retrospectiva:

Coding Dojo - Dia Do Programador - Smalltalk

Coding Dojo - Dia Do Programador - Smalltalk

Coding Dojo - Dia Do Programador - Smalltalk

Retrospectiva:

  • Pontos Positivos:

    • Smalltalk ++++
    • Coca Cola
    • Mouse
    • IDE
    • História da Linguagem
    • Cores nos testes
  • Pontos Negativos:

    • Pizza +++++
    • HD queimado
    • Formato ++
    • TouchPad
    • Preparação antecipada sobre a linguagem
    • IDE sem arvore de arquivos
    • IDE não deixa salvar se o método não existe
    • Demoramos para chegar no problema em si
    • Caneta
    • Café

(Tinha mais coisa na retrospectiva, mas eu não consegui ler minha letra um dia depois)

Let's Hack The Planet!

08.08.2013

9º Coding Dojo na Das Dad

Postado às 22:00 por leafac

Na noite do dia 08/08/2013, a Das Dad recebeu convidados de toda a comunidade para participar do seu 9º Coding Dojo.

A linguagem da vez foi Ruby. O problema escolhido foi o jogo Ruby Warrior, em que um guerreiro controlado por código Ruby precisa matar inimigos e salvar reféns.

Em vez de escrever os testes, a validação do código era feita rodando o jogo para tentar passar de fase. Essa dinâmica foi muito divertida! Várias ideias inteligentes e gambiárricas surgiram para fazer nosso guerreiro Careca seguir adiante.

Tivemos alguns problemas de infraestrutura tais como um computador morrendo, a rede falhando e um pouco de código sendo perdido. Mas ainda assim conseguimos chegar no fim do jogo!

Daqui quinze dias tem mais Dojo de quinta na Das Dad.

19.07.2013

8º Coding Dojo na Das Dad

Postado às 22:00 por leafac

Na noite do dia 19/17/2013, a Das Dad recebeu convidados de toda a comunidade para participar do seu 8º Coding Dojo.

A linguagem da vez foi o Lua. Criado pelo pessoal da PUC Rio, o Lua é fascinante. Ela foi feita para ser uma linguagem de script embutida em outros programas escritos, por exemplo, em C.

Sua performance é uma das melhores entre as linguagens de script, característica garantida pelo conjunto enxuto de recursos e implementações inteligentes de Máquina Virtual e Garbage Collection.

O problema foi escolhido na hora pelos participantes no site Dojo Puzzles. Decidiu-se pelo problema dos Anagramas.

Várias ideias bacanas surgiram para a solução que quase foi alcançada. Os maiores problemas vieram da falta de familiariadade com os recursos do Lua.

Daqui quinze dias tem mais Dojo de quinta na Das Dad.

11.06.2013

Coding Dojo AWS Elastic Beanstalk @ iMasters

Postado às 22:00 por ale_borba

Este nosso Coding Dojo foi marcado por um novo formato. Desta vez fizemos usando o formato PreparedKata, que tem as seguintes características:

  • Defini-se um limite de tempo.
  • A solução é iniciada do zero.
  • Usar TDD e BabySteps.
  • Todo passo deve ser explicado para que todos consigam acompanhar.
  • As pessoas só devem interromper se não estiverem entendendo algo.

É claro que nem todos esses passos foram seguidos a risca, mas na medida do possível todos foram cumpridos.

Tivemos a presença de 13 pessoas bastante concentradas e interessadas, dessa forma, não aconteceram dispersões graves e o fluxo do Coding Dojo seguiu (quase) como o programado.

No início eu, Alê Borba, fiz uma rápida apresentação sobre o ecosistema da Amazon Web Services e sobre como é e para que serve o Elastic Beanstalk. Essa apresentação serviu para deixar todos alinhados com o assunto do Dojo e dar um ponta pé inicial sobre o que seria o Coding Dojo.

O problema que escolhi para este Kata foi colocar o Postmon funcionando no ecosistema do Elastic Beanstalk, com deploy via Git, monitoramento, escalabilidade, conexões externas e tals. E no final, fazer um teste de stress na aplicação para ver a coisa escalar. :)

Para todos entenderem o desafio, vou explicar um pouco sobre como o Postmon funciona hoje e quais eram os principais desafios em colocá-lo no Elastic Beanstalk:

O Postmon, hoje, roda em um único servidor, que serve como servidor de banco de dados e servidor de aplicação, este era o primeiro desafio, separar o servidor MongoDB do servidor onde estava rodando a aplicação. Este ponto foi fácil, subimos uma instância EC2 e cofiguramos nela o MongoDB. Uma outra especificidade do Postmon é ele rodar utilizando o Bottle e o lxml como dependências, ai neste ponto algumas pessoas acham que isso não é um problema, basta colocar no requirements.txt e está tudo certo. Não, errado! Por algum motivo, o PIP utilizado pelos servidores do Elastic Beanstalk não possuem, nos seus mirros, nem o Bottle e nem o lxml. Tivemos que fazer um hack simples para o Bottle e um hack bastante bizarro para o lxml (quem já teve que compilá-lo sabe o quão chato ele é para isso.)

Como o tempo acabou ficando curto, não conseguimos resolver o problema totalmente. Mas combinamos de marcar um dia para revisitarmos o problema, já com uma "pré" solução e fazermos os tão sonhados e queridos pelos presentes, testes de stress! o/

Retrospectiva:

  • Pontos Positivos:

    • Boas e muitas dicas
    • Pizza, muita pizza
    • Apresentação
    • Não teve dispersão
    • Formato
    • Não funcionou
    • lxml
  • Pontos Negativos:

    • Não funcionou
    • Não escalou
    • Demora dos testes
    • Falta de atenção
    • lxml

Let's Hack The Planet!

06.06.2013

7º Coding Dojo na Das Dad

Postado às 22:00 por leafac

Seguindo com seu cronograma de Coding Dojos quinzenais para toda a comunidade, a Das Dad recebeu os participantes na noite do dia 06/06/2013.

A linguagem escolhida na hora, entre algumas opções de ambientes montados, foi Java. O problema foi selecionado no site da OBI, dentre os problemas disponíveis para treino para a Olimpíada. Foi resolvido o O mar não está para peixe, que está entre os exercícios de nível 2.

O pessoal que veio mandou muito bem, além do Pair Programming todo mundo foi para o quadro branco esboçar ideias, pensar e resolver o problema.

Isso enquanto comia o mais fino da trash food provida pela casa.

Na última rodada conseguiram terminar de implementar a solução e enviar no corretor da OBI, que aprovou o código!

Resultado da sumissão no corretor da OBI

A retrospectiva e o código podem ser encontrados no repositório dos Dojos da Das Dad.

02.06.2013

Calendário Coding Dojos - Junho/13

Postado às 13:10 por ale_borba

No mês de junho já temos uma lista de Coding Dojos agendados pra galera!

  • Data: 06/06/2013
  • Horário: 19:00h
  • Linguagem: A ser definida
  • Local: Das Dad

Para se inscrever: 7º Coding Dojo na Das Dad

  • Data: 07/06/2013
  • Horário: 11:00h
  • Linguagem: Python
  • Local: Poli-USP - última sala do segundo andar do biênio

Para saber mais: Agenda PoliGNU

Para participar basta aparecer! o/

Para se inscrever: Coding Dojo AWS @ iMasters

  • Data: 13/06/2013
  • Horário: 19:00h
  • Tecnologia: Intel Perceptual SDK
  • Local: Intel Brasil

Para se inscrever: Coding Dojo Perceptual SDK @ Intel

Para participar basta aparecer! o/

Se o seu Dojo vai acontecer no Estado de São Paulo e não esta na nossa agenda, entre na lista do DojoSP no Google Groups e faça um post sobre o seu Coding Dojo.