--
* Coding Dojo Rio *
dojo...@googlegroups.com
http://groups.google.com/group/dojo-rio
http://code.google.com/p/dojo-rio
http://dojorio.wordpress.com
Abraços.
[1] - https://launchpad.net/pydojo
2009/12/17 Israel da Silva Teixeira <isra...@gmail.com>:
Eu estava conversando com o Flávio Amieiro e ele estava pensando em fazer um software que integrasse PyDojo e DojoTimer. Eu mesmo já comecei a fazer uma versão do DojoTimer usando TDD. Podemos juntar essas idéias e desenvolver um projeto que atenda às nossas necessidades do Dojo Rio.
Acho excelente.. ontem mesmo no dojo, sentimos falta de um VCS para verificarmos como o código evoluiu, que foi muito porém não temos o registro disso, ai Flavio comentou sobre esta idéia.
2009/12/17 Rodrigo Pinto <rodri...@gmail.com>Acho excelente.. ontem mesmo no dojo, sentimos falta de um VCS para verificarmos como o código evoluiu, que foi muito porém não temos o registro disso, ai Flavio comentou sobre esta idéia.Então vamos lá.Como vamos fazer?Vamos pegar o pydojo e tentar usar ele? Sinceramente eu não gosto muito da idéia.Acho que a lógica de monitoração é mole de fazer com o stat[1] e resolve nosso problema (tinha pensado em usar o inotify do kernel, mas é exagero total e nos prenderia ao linux).
O timer é outra história, mas é simples pra carabamba de fazer.Temos que escolher as outras ferramentas.O ideal, eu acho, seria um tray icon verde se os testes estiverem passando e vermelho caso não passe. GTK? QT? Me disseram por aí que dá pra simplesmente fazer um tray icon que aparece caso exista um tray! Vou ver se dou uma olhada mais tarde na documentação da stalonetray, ver se lá tem algo assim...Vamos discutir esses detalhes e jogar esse troço no github logo!
Abraços,Flávio
--
Vamos discutir esses detalhes e jogar esse troço no github logo!
também alguém cria a a gente forka e usa a issue page do projeto ou o gdocs compartilhado para colocar as idéias.
> Um problema que eu já encontrei é que não consegui achar uma biblioteca
> para usar o git dentro do Python. A única que eu consegui importar (!)
> serve pra manipular direto os objetos do git, e não é o que eu queria.
> As outras, instalando pelo easy_install, não funcionam de jeito nenhum.
>
> O workarround foi usar o subprocess.Popen mesmo, e chamar o git pela
> linha de comando mesmo. O problema é que eu não sei se funciona no
> windows (vocês que são masoquistas, testem por favor).
Possível solução: usar Hg (mercurial) no lugar do Git. ;)
Mercurial é escrito em Python, e roda em qualquer plataforma.
Existe também um "github"-like para mercurial: http://bitbucket.org/
--
Denilson Figueiredo de Sá
Vialink
Rio de Janeiro - Brasil
/"\
\ / ASCII Ribbon Campaign
X against HTML e-mail
/ \
Possível solução: usar Hg (mercurial) no lugar do Git. ;)
Li seu código e não entendo por que você varre os arquivos para pegar o sum dos horários dos arquivos. Porque não usar file monitoring?
1) Concordo com a estratégia de varredura. Me parece a solução mais
simples que funciona em múltiplas plataformas.
2) Pelo que entendi, a questão de comitar o código é para manter os
passos que descrevem a evolução do código. Isso é independente de SCM,
logo poderíamos evoluir conforme a necessidade isolando esta questão
para suportar subversion, mercurial e git. (acredito que são os
principais)
3) Por outro lado, comitar a cada SAVE pode ser exagerado. Talvez
devesse comitar a cada vez q o teste é rodado E há uma modificação no
arquivo.
[]'s,
--
Henrique Bastos
henr...@bastos.net
http://henriquebastos.net
+55 21 9618-6180
1) Concordo com a estratégia de varredura. Me parece a solução mais simples que funciona em múltiplas plataformas.
2) Pelo que entendi, a questão de comitar o código é para manter os passos que descrevem a evolução do código. Isso é independente de SCM, logo poderíamos evoluir conforme a necessidade isolando esta questão para suportar subversion, mercurial e git. (acredito que são os principais)
3) Por outro lado, comitar a cada SAVE pode ser exagerado. Talvez devesse comitar a cada vez q o teste é rodado E há uma modificação no arquivo.
> 3) Por outro lado, comitar a cada SAVE pode ser exagerado. Talvez
> devesse comitar a cada vez q o teste é rodado E há uma modificação
> no arquivo.
>
> Concordo, mas é que essa foi a primeira versão, mais simples
> possível, e que não tem o código que roda os testes ainda.
>
> O problema é que teoricamente, os testes deveriam rodar
> automaticamente quando salva, então simplesmente rodar os testes E
> ter alterações talvez não seja o suficiente. Talvez a abordagem seja
> fazer o commit toda vez que os testes mudarem de estado (de verde
> pra vermelho), mas não sei se essa granularidade é suficiente.
Ah, blz! Concordo! Acho que faz sentido manter a sua linha atual e
incluir a execução automática dos testes no save. Para o Dojo isso faz
muito sentido e vai economizar muito tempo durante a pilotagem.
> Flavio,
>
> forkei o projeto e estava començando a escrever uns teste, para algo
> que eu não havia gostado que é o fato de quando não existir .git ele
> cai no process.wait() == 128 e para por ai.
>
> Então pensei lógicamente se não existe, chama o "git init" ai deu
> PAM ..o comando entra em loop e fica fazendo reinitalizing no
> repositório. Você passou por isso ?
Rodrigo, acho que neste caso vc misturaria 2 propósitos distintos em
uma mesma funcionalidade.
Pelo que o Flávio comentou, o propósito do projeto é agilizar a rotina
de pilotagem do Dojo commitando o código nos saves. Portanto, se o
diretório do projeto não é um repositório GIT, acredito que, faz mais
sentido falhar a inicialização do script que verificaria (antes do
loop) se está sendo executado a partir de repositório válido. Afinal o
propósito de registrar os commits seria violado neste caso. Desta
forma, o loop fica enxuto, sendo executado somente se pré-requisitos
forem atendidos.
> Outro problema é chamar o subprocess no unittest, da erro por causa
> do cwd... ai malandro eu pensei tira o cwd e da um "cd pasta; git
> init;" antes do git init.. e PAM de novo e eu não sou tão malandro
> rs.. da o mesmo erro do cwd.. É como se não houvesse permissão para
> caminhar para um diretório de dentro de um unittest.
Com a solução econômica sugerida anteriormente, o git init seria de
responsabilidade do piloto. Como um setup do dojo.
Mas se vc quiser implementar esse bootstrap, manda os detalhes do erro
que você obteve (copia e cola o terminal). Não to conseguindo
visualizar o problema.
Com a solução econômica sugerida anteriormente, o git init seria de responsabilidade do piloto. Como um setup do dojo.
Mas se vc quiser implementar esse bootstrap, manda os detalhes do erro que você obteve (copia e cola o terminal). Não to conseguindo visualizar o problema.
Será que isso é realmente necessário? Eu entendo que seria legal pra
ver a evolução do problema. Mas, fora isso, teria sentido?
Talvez eu aproveite os dias que ainda me restam das férias pra
acompanhar o projeto e quem sabe conseguir ajudar de alguma forma.
Abraços.
Será que isso é realmente necessário? Eu entendo que seria legal pra
ver a evolução do problema. Mas, fora isso, teria sentido?
Eu clonei o repositório e estava lendo o código agora.
Ô Hugo,que em me lembre, a ideia por trás da parada é poder reproduzir uma seção de dojo. seria como filmar o dojo: poder andar pra frente e pra trás e acompanhar a maneira como o problema foi enfrentado, diferentemente de deixar apenas um registro de onde o código parou e só...não era isso?
><>2010/1/10 Hugo Lopes Tavares <hlt...@gmail.com>
Eu clonei o repositório e estava lendo o código agora.
Vocês estão questionando qual (D)VCS usar e tal, mas eu tenho um questionamento:
Quantas vezes vocês realmente usaram versionamento num dojo? Eu nunca
participei de um em qual foi necessário backups ou versões antigas do
código em questão.
Será que isso é realmente necessário? Eu entendo que seria legal pra
ver a evolução do problema. Mas, fora isso, teria sentido?
Talvez eu aproveite os dias que ainda me restam das férias pra
acompanhar o projeto e quem sabe conseguir ajudar de alguma forma.
Abraços.
--
* Coding Dojo Rio *
dojo...@googlegroups.com
http://groups.google.com/group/dojo-rio
http://code.google.com/p/dojo-rio
http://dojorio.wordpress.com
Tenho a impressão que versionamento no Dojo parece interessante, mas
tenho minhas dúvidas se seria usado de fato.
Grande abraço,
Vinícius Teles
Em 10/01/2010, às 17:20, Hugo Lopes Tavares <hlt...@gmail.com>
escreveu:
Confesso que estava me sentindo pouco à vontade para levantar essa questão, considerando-se o esforço que já foi colocado no projeto. Entretanto, me vi fazendo exatamente o mesmo questionamento.
Tenho a impressão que versionamento no Dojo parece interessante, mas tenho minhas dúvidas se seria usado de fato.
> Se me permitem, também tenho minhas dúvidas quanto a utilidade do
> controle de versão....
>
> Até quando participei toda semana dos dojos, nunca houve o caso de
> uso de querer olhar o código. Não sei se nos ultimos meses isso mudou.
> E pra mim que to de fora, teria pouca utilidade ver um monte de
> commits [automaticos] sem ter participado da sessão.
Não acho que o grupo se beneficie dos commits. Acredito que servirá
apenas para eventuais consultas de visitantes que querem conhecer
melhor o dojo. Mas tb não sei se isso de fato acontecerá.
> Se é para sermos pragmáticos, seria mais interessante levantar na
> próxima semana no Dojo qual é a funcionalidade que traz mais valor
> de negócio pro Dojo, e qual pode ser usada já na próxima semana.
> Assim tem-se 1 semana para dar o pontapé inicial, e tem também
> usuários ávidos pra por o software em ação. Na semana seguinte,
> discute-se o que foi bom e o que não foi, e passa a próxima
> iteração. Até que uma nova funcionalidade seja implementada... e
> todos estejam felizes com o projeto e ... final feliz :D
Sem dúvidas o que precisa acontecer é *autotest*. Programar sem sair
do editor é fundamental para fazer a pilotagem fluir.
> Já são 2:42 em Lisboa... será que consigo terminar meus exercícios
> de Polonês? Ah, sábado comecei efetivamente meu curso de Turco!!!
> Quando eu voltar vamos ter Dojo numas linguagens novas...
To ligado na _língua_ que vc tá aprendendo! :-P
Eu acho interessante manter o histórico do código do dojo, será útil para
ver a evolução do código (como já mencionaram), especialmente nas
refatorações. Provavelmente será mais útil para aqueles que não
participaram do dojo, mas acredito ser útil para todos.
Por outro lado, não tenho certeza se commits automáticos são a melhor
solução. Talvez um commit (semi-manual?) a cada vez que troca o piloto?
Neste caso, a msg do commit poderia conter os nomes do piloto e do
co-piloto.
Não sei como é no git, mas no mercurial há algumas interfaces gráficas que
tornam bem "fácil" a navegação pelo histórico. Exemplos: "hg view",
"hgview"
Acho que as funcionalidades mais importantes são:
1- Timer (já temos o dojotimer, eu só acrescentaria opções por linha
de comando e tempo padrão de 5min);
2- auto test: acho a mais importante pois contribuiria com o
desempenho dos pilotos; ao ser efetuada alguma alteração em arquivo
(teste ou código), roda os testes e mostra visualmente o resltado
(parecido com aquele pra Ruby que vimos no DevInRio).
Sinceramente acho que estamos indo longe demais com a discussão sobre
portabilidade. Atualmente utilizamos Gnome (Niterói) e Windows (Lapa),
então acho que devemos começar suportanto apenas essas plataformas.
Pra mostrar se os testes passaram ou não poderíamos utilizar o
notify-send (como no pomamonitor[1]).
[1] http://code.google.com/p/pomamonitor/
2010/1/17 Flávio Amieiro <flavio...@gmail.com>:
> --
> * Coding Dojo Rio *
> dojo...@googlegroups.com
> http://groups.google.com/group/dojo-rio
> http://code.google.com/p/dojo-rio
> http://dojorio.wordpress.com
>
--
Álvaro Justen
Peta5 - Nós fazemos TV digital
http://www.peta5.com.br/
21. 3021-6001 / 9898-0141
2- auto test: acho a mais importante pois contribuiria com o
desempenho dos pilotos; ao ser efetuada alguma alteração em arquivo
(teste ou código), roda os testes e mostra visualmente o resltado
(parecido com aquele pra Ruby que vimos no DevInRio).
Sinceramente acho que estamos indo longe demais com a discussão sobre
portabilidade. Atualmente utilizamos Gnome (Niterói) e Windows (Lapa),
então acho que devemos começar suportanto apenas essas plataformas.
Pra mostrar se os testes passaram ou não poderíamos utilizar o
notify-send (como no pomamonitor[1]).
Esta suposição não serve: meu note não tem speaker.
Porém, considerando que qualquer computador possui placa de som, então
o speaker interno torna-se realmente desnecessário (exceto na bios...
mas isso é outra história).