Páginas

Showing posts with label dojo. Show all posts
Showing posts with label dojo. Show all posts

Monday, January 30, 2017

Does TDD work?! Baby steps?!

I believe one good quality of thinkers, engineers, programmers, you name it, is skepticism.
Not taking things for granted allows one to dig deeper, try to understand pros and cons, dive into a detailed level of understanding.

TDD is old enough that you can find online (and physical books even) a myriad of related material, both favoring it and bashing it. I'd say that questioning it is great, whether you are in favor, against or indifferent towards it.

I'd like to share some links I've (re)visited recently:

TDD


The first one is a question, "why does TDD work?", or perhaps it should've been "does TDD work?!?"

I sympathize with this comment (emphasis mine):

TDD is, in my opinion, mainly about ways to make sure you can check parts rather than a big 'all or nothing' at the end. But the adagium of TDD, 'build a test first' is not meant to be 'make a test before you think about what you want to accomplish'. Because thinking of a test IS part of designing. Specifying what you want that exact part to do, is designing. Before you ever start to type, you have already done some designing. (In that way I think the term 'test driven design' is misleadingly implying a oneway path, where it is really a feedback loop).


Good design can come either through picking tests intelligently, or by any other technique... how do you learn and discover good designs? You either learn from existing designs, or you try things out.
I think the former is more effective, and immensely prepares you for the latter.

To a mathematician's mind, I'm speaking to you now, though I see programming are much more than maths, as programming projects are also related to arts, social science, communication, and more...
The way how I learned many topics in maths (and physics, etc): I was taught some theory, and then I did hundreds, perhaps thousands, of exercises. Often an exercise builds up on ideas you've learned in previous challenges. Often a problem is hard enough that you need to be presented with a solution... then you understand it, it makes the problem seem much easier than it originally was. And them you feel empowered to solve similarly tough exercises, and to innovate when faced with the unseen.


What if TDD doesn't work as in this quote from Peter Norvig:

“Well, the first thing you do is write a test that says I get the right answer at the end,” and then you run it and see that it fails, and then you say, “What do I need next?”—that doesn’t seem like the right way to design something to me. It seems like only if it was so simple that the solution was preordained would that make sense. I think you have to think about it first. You have to say, “What are the pieces? How can I write tests for pieces until I know what some of them are?” And then, once you’ve done that, then it is good discipline to have tests for each of those pieces and to understand well how they interact with each other and the boundary cases and so on. Those should all have tests. But I don’t think you drive the whole design by saying, “This test has failed.”


Indeed. Writing arbitrary tests and making them pass don't take you anywhere.

The second link I share is a good commented example of how it goes when the order of tests in unfavorable and we get stuck. One needs to think. You need to build a baggage, a toolbox, and it takes time ;-)


At all times, let's keep in mind that who drives the show is YOU (by writing tests or anything else).

Like other techniques, TDD doesn't always work, for it depend on individual and collective "talent" to get things done at a certain quality level.

(...) how come it does not always work?

Because testing requires a VERY different mindset than building does. Not every one is able to switch back and from, in fact some people will not be able to build proper tests simply because they cannot set their mind to destroy their creation. This will yield projects with too few tests or tests just enough to reach a target metrics (code coverage comes to mind). They will happy path tests and exception tests but will forget about the corner cases and boundary conditions.

Others will just rely on tests forgoing design partly or altogether. (...)


One positive thing about practicing collectively in a coding dojo is the ability to criticize design decisions, and to share that "baggage" on things that work, and things that doesn't, most often being able to show why it does or doesn't. And, looking from a different perspective, there's space to learn things one would not otherwise think in isolation.

Baby steps


This is notably quite long already... but closing with the third link, here goes something about the "size" of baby steps, something that people being introduced to TDD and baby steps are often asking, when they start to think that one ought to write senseless code when you know an obvious implementation. No, you do not need to write mindless code nor are you supposed to do that.

If you know how to do something, if it is obvious for you and you are comfortable, go ahead and do it. Stay in the flow. Now, when your instincts fail, there is the "fake until you make it" technique to keep you up in the game. Faking endlessly and thoughtlessly will not magically solve the problem for you, but gives you time to observe.
When overconfidence fails you, you can learn to know when to step back.

A whiteboard or a piece a paper, or an interactive interpreter, all might be equally good tools for fostering thinking.



We practice TDD and Baby Steps in coding dojos, though those are not magical techniques that solve all problems. The breath of domains we write programs for is so vast that no single technique could possibly be a silver bullet. Those two are certainly not sufficient in the toolbox of one aspiring to be a good programmer.

What are other useful techniques for you?

Monday, March 14, 2016

PyCon SK 2016

This is a brief report of my weekend in Bratislava, at PyCon SK, the first [inter]national Python conference in Slovakia!


On Saturday I gave a talk about OpenShift -- Docker and S2I builds, and deployment automation with our PaaS.




Thanks to my new Turkish friend Büşra for tweeting my photo!

Personally I always feel like there's something to improve, but the feedback I got was positive ;)
People were interested, asked several questions after the talk and I kept meeting people interested in OpenShift and Red Hat in the corridors throughout the day and on Sunday as well.

Thanks everybody for the conversations, it was a perfect weekend!

There was a live stream on YouTube, I imagine the recording should be out sometime soon.


Shadowman made an appearance in my arm during the conference:


And, actually, it's still with me today, Monday ;)


Also on Saturday I gave a lighting talk with Tatiana to promote the Coding Dojo we did on Sunday.
Tatiana was fantastic at improvising with me in the stage! We had a spontaneous conversation talking about Coding Dojos that drove the attention of many people.

Thanks to that we learned that Nick is organizing the London Dojo, and perhaps will partner with Tatiana in the near future to keep moving their dojo forward, bringing in some Brazilian taste to the mix!


Sunday was awesome, or, to put it in the words of the feedback I got: it was INCREDIBLE FUN.

That day was left open by the organizers for spontaneous activities... and guess what gathered the most people together? The Coding Dojo!


It was definitely a chance to inspire and be inspired! Gather together about 50 people in a Sunday morning? Not trivial.
We ran three sessions with a retrospective in the morning and in the afternoon.



Even after what I call "self selection", we got down to about ~20 people who actively participated and engaged in coding, expressing their ideas, overcoming their fears and difficulties.

That's the power of building communities. I'm looking forward to hearing that the Slovaks in Bratislava will start their own meetings :)
I met a fantastic group from the Python community of Viena, and I'd definitely love to join them in the near future.


That's about it, a lot of informal conversations about Red Hat, how we develop OpenShift, open source, coding dojos, Brno, Turkey, Brazil, Functional Programming, etc etc.

What a great conference!

Friday, November 4, 2011

Perl no Dojo Rio

Wordle usando como base o código-fonte dos nossos dojos em Perl:

Wordle: Perl tests from Dojo Rio

Tuesday, October 4, 2011

O que é Coding Dojo?


O que é Coding Dojo?

Um Coding Dojo é um encontro no qual pessoas se juntam para trabalhar em um desafio de programação. O objetivo é a prática deliberada de programação como forma de melhorar habilidades pessoais e se divertir em grupo.

Premissa: o aprendizado é um processo contínuo e requer prática. Prática coletiva traz novos desafios e potencializa o aprendizado e a disseminação de conhecimento.

Características: o ambiente é colaborativo e divertido, adequado para testar novas ideias. Participantes com qualquer nível de conhecimento são bem-vindos.

Requisitos técnicos/físicos: sala com um computador e um projetor. Quadro branco ou flip-chart, post-its e comida são itens que ajudam ao longo do encontro.

O Coding Dojo é um espaço semanal na agenda para treinar boas práticas de programação, como Test-Driven Development (TDD), programação em par, código coletivo, passos de bebê, design incremental, entre outras práticas ligadas ao desenvolvimento Ágil de software.

A maioria das boas práticas do Dojo são derivadas da metodologia de desenvolvimento Ágil Extreme Programming. Mas o Dojo vai muito além quando consideramos os aspectos sociais, que envolvem convívio social, apresentação de ideias em voz alta para um público e trabalho em grupo para atingir um objetivo comum.

E o Coding Dojo Rio?

O Coding Dojo Rio iniciou seus encontros semanais em dezembro de 2008. Tudo começou em setembro daquele ano no encontro da comunidade brasileira de Python, o PyCon Brasil 2008, realizado no Rio de Janeiro.

Thursday, July 28, 2011

Estatísticas do Dojo Rio em 2011

Resolvi fazer uns gráficos para mostrar as linguagens que usamos nos dojos, mais como curiosidade que outra coisa.

Para conseguir gerar os dados tive que renomear alguns diretórios de dojos antigos que estavam sem a descrição de problema e linguagem. Depois, atualizei meu script para gerar as estatísticas.

Os gráficos

Este ano:


Todos os dados disponíveis:


Portanto as linguagens mais utilizadas neste ano, assim como em todos os tempos, são Python, Ruby e Javascript.

Alguma sugestão de gráfico que você gostaria de ver?

Thursday, May 26, 2011

Boo não é Python

Ontem no Coding Dojo Rio no Centro do Rio de Janeiro tivemos uma nova linguagem para experimentar. Em linhas gerais o dojo foi sensacional, e não só os minutos que estávamos lá programando mas também as discussões que rolaram até tarde. Cheguei a casa já eram 2:40!

O problema que abordamos foi o do Caixa Eletrônico. Graças ao Juan Lopes nós usamos Boo e um super dojo timer novinho em folha. A idéia deste post é apenas discutir brevemente um aspecto da linguagem que me chamou a atenção.

Portanto, que fique claro que, apesar da maior parte da sintaxe ser parecida, as linguagens não são as mesmas, e algumas escolhas semânticas e gramaticais deixam isto claro. Também não se trata do que é melhor e o que é pior.

Ontem fiquei curioso pois numa parte obscura do nosso código tínhamos uma função mais ou menos assim:

def sacar(valor):
    return (valor,) if valor in (2, 5, 10, 20, 50, 100)
    
    raise EntradaInconsistente() if valor <= 0
    
    return (20, 20) if valor == 40
    
    return (2,) + sacar(valor - 2) if (valor - 2) in (2, 5, 10, 20, 50, 100)

Possívelmente não era exatamente isto, mas era algo muito parecido e equivalente. Tínhamos 4 linhas que eram raise ou return, seguido de um valor de retorno, seguido de um if e uma condição.

Não demorou para percebermos que a legibilidade estava ruim, pois para saber o que cada linha fazia era preciso ler a linha inteira. Se os if's estiverem em suas próprias linhas, fica mais fácil ler a condição e "ignorar" o bloco de código (mesmo que uma expressão curta...) que se segue.

    if valor in (2, 5, 10, 20, 50, 100):
        return (valor,)

Mas isto pode ser considerada apenas uma questão estilistica...

O ponto é que eu jurava que "return (20, 20) if valor == 40" não é uma linha válida de Python! Sim, de Python... mas estávamos programando em Boo.

Acabou que nós não testamos lá, e ficou o suspense. Em Ruby reza a lenda que isto funciona e é super normal, mas em Python... em Python a história é outra.
Eu fui testar agora no ipython:

In [1]: def foo(x, y):
   ...:     return "x par" if x%2==0
------------------------------------------------------------
   File "", line 2
     return "x par" if x%2==0
                             ^
SyntaxError: invalid syntax


In [3]: def foo(x, y):
    return "x par" if (x%2==0)
------------------------------------------------------------
   File "", line 2
     return "x par" if (x%2==0)
                               ^
SyntaxError: invalid syntax


In [5]: def foo(x, y):
    return "x par" if (x%2==0) else 0
   ...:

E foram confirmadas minhas expectativas de que isso não funciona em Python :D

Tanto return quanto raise são palavras-chave que formam gramaticalmente uma declaração (statement) em Python. E a declaração é "return truthy_value if condition else falsy_value", como pode ser visto na gramática.

A semântica quando se começa uma linha por return é que a função vai retornar o que quer que seja o valor avaliado para o que vem depois da palavra-chave (a não ser claro que antes disso ocorrer uma exceção seja lançada).

E é só isso...

Nota: não encontrei a gramática do Boo para linkar...
Nota mental: espero fazer mais desses posts ao invés de mandar emails longos :D


[update 26/05/2011 20:08]
O Juan acrescentou na lista do Dojo sobre a gramática de Ruby:

STMT : STMT if EXPR
STMT : EXPR
EXPR : ARG
ARG : PRIMARY
PRIMARY : return [`(' [CALL_ARGS] `)']

E então, comparando com Python (já que eu tinha só linkado antes):

return_stmt: 'return' [testlist]
testlist: test (',' test)* [',']
test: or_test ['if' or_test 'else' test] | lambdef

Agora só fica faltando formalizar a gramática do Boo. Fiz uma busca de novo no Google e no site oficial do Boo, mas não achei! Será que você tem mais sorte?

Wednesday, May 18, 2011

Introdução ao Racket no Coding Dojo Rio

Hoje no Dojo Rio no Centro farei uma apresentação de introdução à linguagem Racket.
Fiz um post no blog do Dojo Rio e replico ele aqui:

O que é “Racket”?
É uma linguagem relativamente nova, antes chamada PLT Scheme, que mostra sua origem em Scheme, um dos dois mais conhecidos dialetos de Lisp (o outro sendo Common Lisp).

Racket pode ser considerado também como uma família de linguagens, já que existem diversas sublinguagens para fazer as mais diversas coisas, como escrever documentação, apresentação de slides, ensinar programação, programação em lógica, etc.

Por que esta apresentação?
Já faz um tempo que queria compartilhar meu entusiasmo com programação funcional e Lisp, e por vezes pensei em levar lá pro Dojo o Common Lisp. Entretanto, a forma mais legal de trabalhar com CL seria usando o editor Emacs e o SLIME.

Acontece que configurar tudo isso e esperar que as pessoas consigam usar numa boa é complicado — principalmente esta segunda parte. Já basta a resistência com a sintaxe diferente e com ideias e formas de programar diferentes, ainda ter que lidar com um ambiente “hostil” certamente traria desânimo, revolta e incompreensão.

Se você já está habituado a usar o Emacs, programar em qualquer dialeto de Lisp certamente vai ser “mamão-com-açúcar”!

Por que Racket?
Então, por que Racket? O Racket além de funcionar bem em Linux, Mac OS e Windows, vem com um ambiente de desenvolvimento, oDrRacket, que torna a experiência de programar divertida e produtiva (ymmv). E mais, a documentação é muito boa, e a comunidade muito receptiva (você sempre pode tirar dúvidas via IRC ou lista de emails).
Screenshot do DrRacket
Screenshot do DrRacket

Racket não é só uma linguagem educacional! Também é possível fazer aplicações reais, em diversas áreas, e elas existem. Abaixo uma lista de alguns usos de Lisp/Scheme/Racket:

Friday, November 26, 2010

Estou no rumo certo do TDD e Baby Steps?

Costumamos falar destes termos toda semana no DojoRio, mas imagino que nem todos de fato compreendem os termos para além das traduções pro português e mais alguma idéia superficial ou distorcida do que seja.

Isto não é um ataque, e sim um convite a reflexão para que cada um faça um "self-check"...

E aí, será que posso melhorar a qualidade do meu código? Será que faço TDD de verdade, ou só estou enrolando ou me enganando? Esses tais passos de bebê são úteis pra mim? Estou fazendo a coisa certa?

Graças ao link que o Berrondo mandou pra lista de emails recentemente (numa retrospectiva do que rolou na última quarta), vi que o Aniche fez boas considerações sobre este ponto:

http://www.aniche.com.br/2010/11/cuidado-com-seus-baby-steps/

Na quarta, depois do nosso randori normal de toda quarta, tivemos um kata do Juan Bernabó mostrando como ele ataca o problema de transformar números arábicos em romanos sem pensar! Isso mesmo, sem pensar. Sem parar de fazer o simples processo de escrever testes, identificar padrões e refatorar.

Confira o resultado do kata:
http://code.google.com/p/dojo-rio/source/browse/#svn/trunk/2010/20101124 - inteiros para romanos - perl

Tuesday, September 21, 2010

De volta ao Brasil, e de volta a ativa...

Depois de 11 meses em Portugal e 1,5 no Brasil como guia turístico, estou de volta.
Ontem comecei a trabalhar na Intelie, que certamente será fonte de grande aprendizado e diversão.

Na universidade (UFRJ) estou fazendo disciplinas interessantes, e pretendo fazer alguns posts sobre elas.

Também estou de volta ao DojoRio, evento que dei início e participei sempre até minha ida para o exterior.
E o dojo me trouxe muita satisfação. Ele cresceu para além de minhas expectativas, vários amigos estão fazendo palestras sobre o mesmo, e outras pessoas tem nos seguido e iniciado outros dojos pelo Brasil (e também pelo Rio, onde tivemos uma grande multiplicação).

Amanhã estarei lá na Lapa para mais um! O endereço é Rua Teotônio Regadas 26 sala 603 - Lapa, ao lado da Sala Cecília Meireles, próximo ao Metrô.

Thursday, January 21, 2010

Sons, muitos sons! Com Python :D

Pois é, tive um dia de domingo agradável, programando!
A turma do Dojo Rio está tocando o projeto opensource Dojotools para reunir ferramentas para facilitar nossas vidas durante as sessões de coding dojo.
Para dar minha pequena contribuição para minha diversão, e prejuízo de meus ouvidos, passei a tarde arrumando o sound_alarm. Este script surgiu de diversas brincadeiras que já havia feito para reproduzir som com Python no Windows e no Ubuntu.
Juntei coisas que eu já tinha, refatorei, produzi algumas "melodias" para perturbar quem se aproxima de mim, e taquei no github.

Ontem testei o script no Mac e não funciona. Pelo menos aqui no Macbook Pro não tem /dev/audio, e não descobri como tocar sons em diferentes frequências como consigo no Linux e Windows.

Eis que se alguém tiver uma solução pro Mac OSX ela é apreciada :D

Friday, September 11, 2009

Lisboa, Portugal

Eis que cá estou desde segunda-feira. Esta tem sido uma semana muito boa.

Conheci novos países, novas culturas, novas pessoas... sim... PESSOAS muito interessantes. Escrevi algumas coisas em papel nos primeiros dias, depois pretendo postar.

Agora moro aqui em Portugal por um ano, muitas novidades por vir, como o Coding Dojo Lisboa! Aguardem.

Saturday, August 22, 2009

Dev in Rio 2009

Que Rock in Rio que nada... o evento de 2009 é o Dev in Rio!
Este evento é diferente de tudo que você já viu, e de todos os eventos que já paticipou. E o que me deixa tão confiante para dizer isso? Bem, o foco nas PESSOAS.

Este não é apenas um evento sobre tecnologias e máquinas, e sim um encontro de PESSOAS com um propósito. Ser diferente, a constante busca em fazer o melhor, vontade de mudar o mundo... se você procura pessoas que compatilham deste interesse, vá ao Dev in Rio 2009.

Os créditos vão para os meus amigos Guilherme Chapiewski e Henrique Bastos, dois dos grandes movimentadores de comunidade de software aqui no Rio de Janeiro, e para todos os outros envolvidos que estão tornando o Dev in Rio uma feliz realidade.

O evento será realizado no próximo mês, na segunda-feira dia 14 de Setembro de 2009. É o início da semana com o pé direito.
Infelizmente eu não vou poder participar, pois estarei iniciando outra coisa: minhas aulas em Lisboa!

Então, se não é Dev in Rio em 2009, será Rock in Rio Lisboa em 2010 e Dev in Rio 2010, já apostando na segunda edição!

Além de palestrantes nacionais e internacionais, vai ter uma arena rolando Dojo Rio durante o evento. Já se conscientizou que é imperdível?

Agora é só correr e fazer logo sua inscrição, pois as vagas são limitadas.

Wednesday, August 12, 2009

Web2py hack day



Na última sexta-feira realizamos um encontro em um dos laboratórios da Peta 5 na UFF.
O tema foi o framework desenvolvimento de aplicações web web2py, escrito em Python, e que conta com uma crescente comunidade -- boa parte dela aqui no Brasil.

Este post serve como uma continuação da história sobre o que estamos fazendo aqui no Rio.
Como conversamos depois do último dojo na quarta-feira passada, "estamos procurando por melhores formas de desenvolver software fazendo e ajudando outros a fazer o mesmo..." e por aí vai o Manifesto Ágil. Só que, para fugir da imagem enganosa estabelecida pelas buzzwords -- os conceitos deturpados de o que é fazer software, cunhamos o termo framps como a nossa palavra para descrever o que somos e fazemos.




Estão foi isso, tivemos o web2py hack day framps. Juntamos membros do Dojo Rio, PythOnRio, INPI, UFF, etc. Alguns computadores, disposição e as dicas e orientações do Álvaro Justen, e rapidinho fomos desenvolvendo nosso produto: o web2itter!

Se virem esse nome em qualquer outro lugar, não se enganem, fui eu quem inventei! Apesar do escopo amplo, o primeiro release foi apenas uma aplicação concorrente do Twitter, com a diferença de suportar muito mais requisições por segundo que o original.

Depois, só porque a UFF tinha que fechar as portas e porque nossos estômagos estavam vazios, paramos de programar e fomos para o Vestibular do Chopp encarar uma picanha... e algumas horas de bate-papo sobre os mais variados temas, incluindo a história do projeto GNU e o papel do Linus Torvalds e seu kernel, as opções de controle de versão de código-fonte: git, mercurial (hg) e bazaar (bzr), e mais um monte de coisas que sinceramente eu já nem lembro :P.

E pra isso tudo não poderiam faltar fotos! Vejam as fotos do I Web2py Hack Day Framps.

Sunday, July 5, 2009

O que nós estamos fazendo aqui no Rio?

Após ver o post do Tapajós, deu vontade de espalhar mais pela rede o que temos feito por aqui na Cidade Maravilhosa...

Ultimamente a turma do Rio de Janeiro anda bastante agitada e muita gente está sem entender o que é Hora Extra, Coding Dojo Rio, Hack Framps e outros encontros. A explicação é simples, basicamente nós criamos uma certa rotina, com pequenos encontros onde a gente se diverte, bebe cerveja e ainda aprende muito.

Que eventos são esses?

Hora Extra

Trata-se do nosso choppinho semanal que acontece todas as segundas-feiras no Bar Antigamente a partir das 19:30h. Apesar do objetivo ser apenas jogar conversa fora e beber, é impossível juntar mais de três nerds e não rolar muita discussão sobre trabalho, tecnologias, frameworks e todas essas coisas.

Veja algumas fotos:

(Hora Extra)

O objetivo era chegar com a mesa até os táxis, mas dessa vez não deu.

(Hora Extra)

Casa cheia!

(Hora Extra)

Edição especial do Hora Extra na Intelitiva.

Coding Dojo Rio

O Coding Dojo Rio acontece todas as quartas-feiras no CEFET-Rio, a partir de 18:30. Começou do final de 2008 e já conta com a bagagem de 22 encontros realizados, média de 10 participantes e mais de 60 inscritos na lista de discussão.

(Coding Dojo Rio)

Hack Framps

A Hack Framps é o mais restrito desses eventos. Infelizmente não é possível divulgar publicamente onde ele ocorre e convidar a todos pois ele é realizado na casa do Vinícius. Em geral quem participa dos outros eventos é automaticamente incluído nesse também.

A Hack Framps é uma espécie de RejectConf, onde cada um faz uma breve apresentação sobre algum assunto que domina, ou não, e depois a gente troca algumas figurinhas. A idéia desse evento é difundir conhecimento aproveitando as diferentes habilidades que cada um de nós temos e a grande diversidade de áreas que a nossa profissão oferece.

Veja algumas fotos:

(Hack Framps)

(Hack Framps)

(Hack Framps)

(Hack Framps)

Festa Framps

A Festa Framps é mais um evento restrito lá na casa do Vínicius e é o momento da gente se redimir com as esposas. Trata-se de uma festinha para toda a familia e a coisa mais nerd que a gente faz é jogar Wii!

Então...

Esses eventos todos são uma forma que a gente encontrou de manter a galera unida, trocar idéias e se divertir muito.

Mas então, o que vocês estão fazendo na sua cidade? Como vocês estão aproveitando o talento de cada um?

Saturday, July 4, 2009

Coding Dojo Rio

Não tenho escrito muito nas últimas semanas, mas algo que gostaria de destacar agora é o nosso Coding Dojo Rio.

Não só chegamos a marca de 20 sessões realizadas, como também na última quarta-feira tivemos o prazer de reunir 14 pessoas no dojo.

Já foram 22 encontros, temos 65 pessoas no grupo de emails, e temos um grupo bastante estável e coeso. Tem sido uma experiência maravilhosa compartilhar código e ideias com essa galera...

Você que está lendo aqui deveria procurar mais as práticas Ágeis, experimentá-las, não ter medo de mudar!
Não deixe essa falsa impressão de "não mudo time que está ganhando", por que isso esconde as melhorias que seriam conquistadas quando damos um passo de coragem.

Mude, dê espaço para você mesmo se tornar uma pessoa melhor!

Hmm, depois do devaneio, links para os últimos posts do Dojo Rio, com muitas fotos do grupo:

Thursday, June 11, 2009

20 edições de Coding Dojo - comemoração com direito a bolo

É com grande satisfação que anúncio que o Coding Dojo Rio é um sucesso.
Depois de seis meses temos um grupo consolidado, que se encontra todas as quartas para programar, trocar conhecimento, se divertir.

Para quem não acreditou, cá estamos nós, comemorando as pequenas conquistas.

E ontem não só comemoramos nosso vigésimo encontro como também o aniversário do Cláudio Berrondo. Tivemos 9 pessoas presentes, um papo muito bom sobre as entranhas do Python, bolo, ... sim, tivemos bolo!

Em breve vamos liberar um post mais detalhado no blog oficial do Dojo, mas por enquanto já adianto as fotos de ontem:

Friday, May 29, 2009

Coding Dojo Rio #18 no CEFET

Na última quarta-feira tirei fotos do dojo!

Foi um dia muito engraçado, comecei ficando preso dentro da sala com o Israel antes de começar o dojo... felizmente logo fomos salvos :)
Depois resolvemos mudar bastante do que vinhamos fazendo... usamos JavaScript para testar a cantiga infantil "Atirei o pau no gato". Eu já tinha indicado como isso poderia ser feito nos posts Dojo Lúdico, TDD em cantigas de roda - parte 1 e TDD em cantigas de roda - parte 2.

Usamos o QUnit para nos apoiar nos testes em JavaScript.

Tivemos muitas guloseimas! E comemos tudo... o registro fotográfico:

Saturday, April 25, 2009

Coding Dojo #13

Na última quarta tivemos mais um Coding Dojo muito produtivo. Desta vez com direito a fotos!



Não vou escrever os detalhes aqui, pois já está tudo no post do Blog Oficial do Coding Dojo Rio.

Friday, April 10, 2009

Coding Dojo Rio #11

Essa semana tivemos mais um dojo que rendeu até altas horas!

Depois de programarmos um bocado, partimos para um lugar meio bar, meio restaurante, meio qualquer outra coisa, onde comemos uns aperitivos e trocamos muitas ideias legais.

Já escrevi um bocado sobre o acontecido no blog oficial do dojo, confiram:
http://dojorio.wordpress.com/

Wednesday, April 1, 2009

Coding Dojo Rio #10

Nesta quarta, 1ᴼ de Abril, realizamos o Coding Dojo Rio de número 10!
Já foram dez encontros desde Dezembro do ano passado.

Foi uma noite chuvosa e muito legal, com novos participantes no Dojo, e com pizza para comemorar!
Para não me alongar muito, fica o link para o post que fiz no blog do dojo:

http://dojorio.wordpress.com/2009/04/02/coding-dojo-rio-10/