25 abril 2012

Pomodoro Technique in 5 minutes

This is a very nice (and short!) presentation about Pomodoro Technique.


22 abril 2012

Como organizar suas leituras?

Você tem a impressão de que não lê nem a metade dos textos pelos quais se interessa? Você abre um monte de abas no navegador com coisas que gostaria de ler e não lê nunca?

As coisas interessantes aparecem bem mais rápido do que a gente consegue ler.

E o pior: quando a gente para no sábado com vontade de ler alguma coisa, nunca lembra daquele artigo que um amigo mandou.

Esquisito né?

Um monte de coisas que você gostaria de ler aparecem quando não se pode parrar pra ler. Elas se acumulam todas entulhadas num canto, te atrapalhando durante dias, e te lembrando de que você precisa arrumar algum tempo pra ler. Aí quando você finalmente tem tempo pra ler alguma coisa, não lembra deles...

O que há de errado, afinal?!

Simples: você precisa de uma caixa de entrada pras suas leituras.


O que é uma caixa de entrada?

É um lugar que se usa pra guardar as coisas na hora que ela aparecem. Apareceu um texto interessante, joga lá!

E pra que você precisa de uma caixa de entrada? 

Por dois motivos: primeiro pra não precisar parar o que está fazendo, já que você não vai mesmo poder ler naquela hora; segundo pra não perder as coisas que quer ler, e pra saber onde procurar quando for dedicar um tempinho pra leituras.

A caixa de entrada evita que você tenha que pensar onde aquilo deve ser anotado, como deve ser anotado, ou mesmo SE aquilo merece ser anotado. Ela funciona segundo a mentalidade do brainstorm: vá pela quantidade, não pela qualidade.

Se estiver na dúvida sobre se alguma coisa vale a pena ser lida, anote! Se não for útil você joga fora na hora de limpar a caixa de entrada. Assim você não para o que está fazendo e nem deixa as coisas entulhadas em abas abertas, esperando que você possa decidir onde elas devem ser guardadas.

A limpeza da caixa de entrada é um assunto a parte. Tem muita coisa pra se aprender sobre caixas de entrada, mas essas são outras histórias. Por enquanto, a melhor coisa é tentar se acostumar com esse processo mínimo: 

Apareceu uma leitura legal, guarda. Quando quiser/puder ler alguma coisa, volta nessa lista pra procurar.

Pra quem gosta de dicas de ferramentas, eu uso e recomendo o Instapaper. O Safari já vem com uma 'lista de leituras' que deve servir bem, e acredito que outros browsers também devem ter algum plug-in que resolva. Mas na prática qualquer coisa serve. Até um arquivo texto no seu desktop ou uma pasta com emails enviados pra você mesmo!

Ache alguma solução e experimente. Você vai ver como suas leituras vão acumular menos ;-)

[edit] Veja os comentários para mais algumas dicas de ferramentas.



15 abril 2012

Kent Beck on Succession


Oh, God! How many times I wished for a way to give such an explanation to my teams!

"
The system will eventually have to deal with an arbitrary number of some element but for the moment it only has to deal with one. What to do?

(...)

The Permaculture design principle of succession suggests an alternative solution.




(...)

The cost of the succession needs to be weighed against the benefits of finishing sooner and the costs of inconsistent assumptions.
"

(the highlights are mine)


Thanks Kent Beck

Again!




11 abril 2012

Javascript in the client AND server. Not a big deal?!

I remember when I read this post, arguing that having Javascript in server AND client was not a big deal.

If you agree with that, I think you should watch this:

08 abril 2012

Porque Javascript?

Quem me acompanha já deve ter percebido que tenho andado bem empolgado com os últimos desenvolvimentos em torno do ecosistema Javascript.

Já se vão 2 anos desde que comecei a expressar esse interesse. Mas foi mais recentemente que a coisa ganhou mais ênfase. Tenho postado montes de coisas no meu twitter, tenho proposto e incentivado um monte de dojo's relacionados, e tenho colocado algumas coisas em prática programando o MapaDaProva.

Embora minha escolha padrão para aplicações web *ainda* seja o Rails, confesso que estou me segurando para poder usar de verdade e me tornar fluido com Node, pra poder "ligar os pontos" de vez. (No Mapa, já usamos JS em quase toda a interface (com Backbone) e no banco de dados, com Mongo. Agora só falta tirar o Ruby do meio do caminho ;-))

Há tempos que venho estruturando as idéias para escrever sobre o porque eu acredito que JS *já é* a melhor opção de arquitetura (full-stack!) pra desenvolver para web, mas confesso que ainda não consegui me organizar de novo pra tocar esse blog como gostaria. Espero que esse possa ser o começo! =)

Enquanto isso, creio que esse post do Dan North possa servir para aqueles que quiserem ler a respeito. Está super bem escrito, bem leve (embora profundo) e divertido. Vale a pena! Aliás, foi só por ter relido ele hoje que eu resolvi vir aqui escrever, então faz uma coisa por nós dois: vá ler!

18 março 2012

Nosso primeiro Kake

Já há algumas semanas que o dojo-brasília vem mantendo duas turmas: a velha turma de quarta-feira às 17:00 e agora também a de quinta às 18:30, que tem se reunido no Balaio café.


Essa semana a turma de quinta ficou pela segunda vez sem o espaço do subsolo que estávamos utilizando. O dojo quase foi abortado, mas de última hora resolvemos experimentar o formato Kake numa mesa normal do café.

A gente programou o NumberToLCD em Ruby e em Javascript, em duas máquinas, ao mesmo tempo, rodando o grupo todo nas duas máquinas. A cada duas rodadas de 5min, vc se senta na solução do outro lado da mesa quase como se fosse a primeira vez... Foi bem divertido =)


A retrospectiva está aqui.

Se você nunca participou de uma sessão de coding-dojo antes, apareça na nossa lista, se apresente, e venha na próxima semana. Não é preciso conhecer nenhuma linguagem específica, não é preciso ser expert em nada! Programadores de todos os níveis de maturidade são muito bem vindos!

A idéia é se divertir e aprender, não tenha medo! Apareça!

04 setembro 2011

Dojo e Capoeira 6 - Ações Práticas



Durante os últimos dois meses, estive escrevendo essa série de posts que manifestam uma opinião e um desejo de que o valor da prática do coding-dojo seja reconhecida como merece. Nesse post, pretendo concluir a série traçando a linha de pensamento que relaciona os outros posts, e tentar enfim ser um pouco prático e concreto, explicando minha idéia de atuação no desenvolvimento social da prática por meio do DojoSpot.

O sistema educacional tradicional não atende mais a nossa sociedade em rede, mas as pessoas continuam escolhendo pagar pós-graduação de faixada a freqüentar as sessões de dojo, ainda que admirem a metodologia do dojo. Foi o assunto que introduzi no primeiro post.

Nesse sentido, o movimento do dojo ainda não conseguiu encontrar o fino equilíbrio entre duas variáveis fundamentais: comprometimento e reconhecimento. As pessoas se dedicam ao dojo, organizando e participando das sessões, mas não se sentem reconhecidas o suficiente para sacrificarem seus fins de semana. Creio que esse equilíbrio pode ser um ponto de alavancagem importante para elevar nossa prática em termos de reconhecimento social, como defendi no segundo post.
Mestre Luiz Renato e eu, na minha formatura de monitor

É claro que as pessoas não participam do dojo só por reconhecimento. Nem parece saudável que assim o seja. Não devemos cultivar a idéia de que a motivação principal para participar de dojos seja o reconhecimento. As pessoas precisam continuar participando das sessões deliberadamente, por estarem de fato profundamente interessadas na ludicidade da atividade. Foi o assunto do terceiro post.

Uma intervenção na organização dos grupos, que eventualmente possa causar a popularização da prática, poderá trazer alguns efeitos colaterais negativos, não há dúvidas. Devemos ter muito cuidado e zelo pra não destruirmos a praia deserta que achamos, enchendo ela de turistas gafanhotos, na linha do que defendi no quarto post.

Mas ainda que alguns prejuizos possam acontecer ao longo desse caminho (e acho que acontecerão!), entendo que muitas outras conquistas grandes (e até bem impensáveis pela maioria de nós) podem acontecer, assim como acho que aconteceram com a Capoeira, como expliquei no quinto post.

'E sem saber que era impossível, ele foi lá e fez...'
(Jean Cocteau) (via Be)

Ainda que os grupos de dojo venham a se dividir em modernistas e tradicionalistas (regional e angola), acredito que no balanço geral vamos sair ganhando se acharmos uma negociação saudável entre os princípios do dojo e o imediatismo ocidental. É melhor começarmos a nos movimentar logo, antes antes que alguém acabe achando um jeito de enriquecer com a coisa (ou, se preferirem, "antes que um aventureiro lance mão").


Sendo prático, enfim ;-)

Minha sugestão é a de que tentemos retribuir o comprometimento das pessoas com o dojo, por meio de um sistema que tangibilize a reputação, parecido com as cordas da Capoeira ou como o que faz StackOverflow, por exemplo. Creio que à medida em que as pessoas se sintam retribuidas, elas passem a participar mais (e melhor) das sessões, aumentando assim a reputação do dojo em si. À medida em que o dojo se torne mais respeitado, os participantes com maior reputação também se tornarão.

A respeito do sistema de reputação, creio que precise ser muito bem pensado e adaptado ao longo do tempo para que se valorize as coisas certas, para que os princípios certos sejam cultivados. Creio que a regra do jogo influencie de modo determinante o comportamento dos jogadores e o desenrolar da partida.

E como os valores e princípios 'certos' a serem cultivados são relativos, acho que precisamos de um sistema que permita a manifestação da diversidade de visões, bem ao modo open-source. Se eu mantenho um dojo, e crio uma regra de reputação com a qual você não concorda, basta reunir as pessoas que concordam com você e criar outro grupo que funciona com outras regras.

E é exatamente o que vejo que acabou acontecendo com a Capoeira e seus grupos. No meu grupo, valoriza-se compromisso, respeito, e criatividade, e portanto capoeiristas que jogam com lealdade e criatividade, e não faltam treinos, podem conseguir uma corda de professor. Em grupos que valorizam apenas a combatividade e a destreza física, eu provavelmente não teria conseguido alcançar a corda que tenho. Ambas as visões estão corretas, e ao meu ver devemos achar mecanismos que valorizem a diversidade, ao invés da padronização.

E pra não ficar só no discurso vazio foi que comecei meu ativismo contribuindo para o dojo-brasília e criando uma primeira versão (ainda bem crua) do que acho que pode ser o sistema por trás dessa idéia: o DojoSpot, que como não podia deixar de ser, é de domínio-público (open-source) para que seja adaptado do jeito que for necessário.

O DojoSpot, por enquanto, ainda não tem nenhum tipo de reputação. Apenas permite que as pessoas marquem uma sessão e que confirmem sua participação nela. A próxima funcionalidade que pretendo acrescentar é o registro de presença, que acho que deve ser o primeiro critério de valorização a se expressar na página de participantes.

Durante o OpenSpace da AgileBrazil2011 ouvi outras sugestões que adorei, das quais destaco duas:

1) O botão de 'obrigado' que permitirá que, a cada sessão, as pessoas distribuam dois agradecimentos aos participantes de quem considerariam ter aprendido alguma coisa valiosa naquela sessão; e

2) A utilização de 'badges' que premiam as pessoas que cumpriram certos critérios de contribuição específicos. Por exemplo, 'batizado' poderia ser concedido à pessoa que tem 10 presenças e um kata apresentado; 'Anfitrião' à pessoa que organizou ou hospedou mais de 5 dojos; e por aí vai...

Por enquanto, se você estiver com vontade de contribuir e não souber como, acho que uma primeira ajuda importante poderia ser a instalação e a utilização do sistema em outros dojos, para melhorarmos a documentação sobre como instalar, como adaptar o layout, e etc.

Fora isso, qualquer tipo de sugestão ou crítica será recebida com festa!

Correções, adaptações ou melhorias poderão sempre ser feitas à vontade, seguindo a lógica do Github.


Isso encerra essa seqüência de posts, bem ao meu estilo (como o Silvano notou outro dia) filosófico, abstrato e repentinamente conclusivo (rs).
Agradeço imensamente pela atenção de quem chegou até aqui, e reitero que adoraria que a discussão continuasse e se desenvolvesse na lista de emails que criamos. Participe lá, que no mínimo ajuda com a minha motivação pessoal ;-)
o/