Scrum Cards Open-Source Style

Conheci o Scrum aqui no INdT, e tendo sido adotado recentemente a maioria do pessoal ainda está aprendendo. Uma das técnicas do Scrum que chama atenção é a do planning poker, usada para estimar o esforço de uma estória (ou feature, mas estória dá uma idéia melhor). Nos explicaram que o esforço necessário para realizar a tarefa é para ser visualizado como tamanho, não como tempo. Mas era comum nos planejamentos sair frases como “quanto tempo vai levar?”, “acho que fazemos isso numa tarde”, e “não, não, nada de pensar em tempo”. Pra ajudar a me reeducar passei a imaginar que as tarefas eram grandes como elefantes ou pequenas como ratos. Daí pra ficar legal mesmo fiz um baralho de planejamento com imagens de bichos de tamanhos diferentes. Ao contrário dos chatos softwares proprietários quase todo projeto opensource ou de software livre tem um mascote simpático. Daí usei esse zoológico pra construir meu baralho.

verso das cartas

A pena é do projeto Apache, que certamente requer um esforço maior e vale mais que 1/2. É isso aí Coxa, estou falando com você. Ele disse “você tá louco?! O Apache 1/2!?”. A idéia é visualizar tamanho, e a pena é o mais leve da lista.
Verdade que nem todas as figuras são de projetos de código aberto. O clipe você deve conhecer e odiar de um softwarezinho proprietário aí. E esse clipe não vale nada, por isso é o zero. O outro personagem é a coruja retardada da interrogação. Essa coruja ficou famosa por causa deste poster motivacional:

Ela é incrível e somos todos grandes fãs aqui no INdT. Não há ninguém melhor pra ilustrar a carta “não faço a menor idéia do esforço disso”.

Agora alguns dados técnicos e a chatice legal. Fiz o baralho com o Inkscape e a fonte usada foi a Purisa (parte do pacote ttf-thai-tlwg no Debian/Ubuntu). A licença pro baralho é a Creative Commons Atribuição-Uso Não-Comercial.

As licenças de cada uma das imagens podem ser encontradas em seus respectivos sites. Duvido muito que você queira checar, mas vou colocar os links pros projetos (ou entradas na Wikipedia) assim mesmo.

Como a maioria dos posters motivacionais a coruja retardada é domínio público. Assim espero.

Não deu pra descobrir qual a licença do clipe idiota, mas se alguém reclamar deixo só os olhos dele e mando os membros pra sua família em Redmond.

qemu-arm-eabi updated, fakeroot bug fixed, post posted

As some of you already know Lauro Venâncio maintains a version of qemu with a set of patches that provides arm-eabi compatibility (which is needed if you want to build/use PyMaemo in Scratchbox). He does so because many of these patches where not yet accepted upstream and the world can not wait.

The version of qemu-arm-eabi in the sourceforge repository included the full source of qemu from its cvs with the patches already applied. Since the qemu source was a bit old (the current version uses svn) I spent some time updating Lauro’s qemu-arm-eabi. Now the sourceforge repository includes only the patches and a script to checkout qemu source from its own svn and apply the patches with quilt. There are also scripts to build and install the qemu-arm-eabi in scratchbox.

But nobody expects that a new bug would crawl in. When running a program through fakeroot and that program tries to call popen libfakeroot will not be found. I find out that the problem was in the fakeroot-tcp script that was using ‘,’ as separator in the environment variable SBOX_PRELOAD. This works with the qemu versions provided by scratchbox, but not with our patched version. I take a look at the scratchbox patches and other places for the source of the problem and found nothing. Since my time to deal with this was limited I just changed ‘,‘ to ‘:‘ in fakeroot-tcp. This worked fine when you do “fakeroot ./progthatusespopen” but Jesus couldn’t do a “dpkg-buildpackage -rfakeroot“. Caio (from Canola fame) solved this by removing the separator and the second item of the SBOX_PRELOAD variable.

The fix described is not the best but works for now. If you have any idea on how to solve this in a proper way your help is appreciated.

Instructions on how to install in the qemu-arm-eabi wiki.

O Lance da Zebra

Zebra tridimensional representada numa superf�cie

Numa das tardes do treinamento de Scrum meu subconsciente processava umas paradas da conversa sobre metafísica que tive com o dandrader pela manhã. Daí essa frase se formou e foi parar num postit:

“The bidimensional creature can only see a slice of the tridimensional zebra.”

O Alisson catou o papel e levou a frase pra uma discussão na hora do intervalo na beira da piscina. Minha intenção não era essa, mas pelo que os caras discutiram até agora a dita frase vertida para o português brasileiro de Recife ficaria assim:

“Aí gata, vamo lá em casa pra eu te mostrar minha coleção do Carl Sagan.”

Ainda nesse espírito, o Thiago ensinou uma outra frase que, segundo ele, pode bloquear as sinapses do cérebro feminino por alguns segundos, tempo suficiente pra o sujeito trabalhar no sentido de agir. Eis a frase:

“Você já ouviu Harvest of Sorrow do Metallica?”

Ele falou que é infalível. E sobre a zebra, deixo pra elaborar a causa num outro dia que passar a tarde comendo grãos de café.

A Filha da AK-47

Chega um momento que mesmo uma AK-47 tem de ir pro Cemitério dos Dragões. Mesmo canibalizando peças (valeu Etrunko!) minha fiel arma estava capengando, meio surda e mais pra lá do que pra cá.

Mas eis que descubro que existe um upgrade! Nokia 1208! Minha primeira dúvida: teria sido um upgrade afrescalhante? Não senhor, tá tudo lá: teclado de película, mostra hora e data quando em repouso, e a imprescindível lanterna! Essa ainda mais potente e focada; na verdade se focar mais um pouco vira um raio laser.

A filha da AK47Menor, mais leve e vestida de Batman!

O dandrader protestou logo que a tela era colorida, e tal e coisa, mas não se deixe enganar, ainda é um aparelho espartano. Pelo menos a primeira queda foi um sucesso.

O Peixe Cadáver

Fim de semana passado estava feliz vendo minha filhota quando de repente ela grita espantada: “O peixe morreu! A culpa é minha, esqueci de dar comida pra ele!”

O falecido era uma beta azul, que agora deve estar num ringue de vidro lá no céu. Me dei conta que a dona havia se evadido do local. Eu chamo e ela vem com a mão tampando a visão do lado do defunto. “Eu não quero ver o peixe…”, a coragem falta e ela corre de volta pro esconderijo. “Tira ele daí!”, e eu “Vem, tou aqui, não precisa ter medo.”, “Tira!”. “Tá, vou levar o cadáver pra longe.”

Foi então que ela perguntou com um tom de voz diferente, de uma curiosidade enorme: “Cadáver? O que é um cadáver?”. “É um corpo morto. Esse peixe morto é o cadáver do peixe vivo.”, “Ahhh!” (1 segundo se passa.) “Agora tira ele.”

Contei essa historinha no treinamento de Scrum e a Patrícia fez esse desenho muito legal:

Meive e O Peixe Cadáver
Meive e O Peixe Cadáver

Essa é uma das 1 bilhão e 1 coisas que se aprende sobre crianças: elas são umas esponjas, se tiver algo novo elas esquecem qualquer outra coisa pra consumir a novidade. Então, se estiver perto dessas formas de vida não seja mão de vaca com informação, nem se comunique no estilo “mim adulto você cuti cuti”. Faça como Einstein disse: “Mantenha simples; tão simples quanto possível, mas não simplório.

E sobre informação, não esqueça que esse prato é melhor servido acompanhado de alguma carga emocional.

import antigravity

Sonhei que estava numa nave espacial gigantesca. Não era uma nave dessas que a NASA USA (trocadilho infame), era uma construção feita numa única rocha negra. Por dentro parecia uma mansão enorme com janelas altas e a gravidade imitando a da Terra, e do lado de fora um tipo de jardim (sem plantas) com pouca gravidade, onde eu dei um salto pra chegar no alto de uma escadaria pequena. O chão girava num eixo, e o espaço e as estrelas em outro.
Havia uma presença predatória no interior da mansão, não um Alien de cinema, apenas algo inquietante.

E foi isso.

Engraçado como nos sonhos recebemos (pelo menos eu recebo) uma quantidade de informação não sensorial. É como encontrar alguém e saber da biografia da pessoa como se você tivesse tomado parte, ou encontrar um equipamento alienígena e operá-lo como se você o tivesse construído. Reforço que não é a sensação de um upload onde você é um observador externo do conhecimento, é mais como se mudassem seu passado mesmo, mas ainda assim você soubesse que acabou de aprender. Imagino se com mais decobertas sobre a mente e o cérebro, esse tipo de experiência cognitiva seria tornada possível, e se com isso a vida ia parecer tão fluida e faria tanto sentido quanto os sonhos.

git-svn rapidinho

Todo mundo usando git e você preso no svn por que seu projeto é grande demais pra mudar assim de repente, e blá, blá, blá? Sente-se por fora por ter de usar um controle de versões centralizado? No more (or less)!

O pacote (Debian/Ubuntu) git-svn faz a ponte entre repositórios svn externos e git locais, e tem uma boa explicação de como usá-lo na wiki do GNOME: Git for GNOME developers

Lá você encontra os porquês de cada comando, aqui temos um resumo rapidinho (jabá: usando o projeto Python Launcher como exemplo):

Baixe do repositório subversion:

$ git-svn clone --username username https://garage.maemo.org/svn/pylauncher/trunk pylauncher

Crie seu branch e mude pra ele:

$ git checkout -b minhas_paradas

Não altere o master branch diretamente, ele deve representar a repositório svn, sempre trabalhe nos branches. Você manda seu trabalho pro master apenas na hora de subir as alterações pro svn.

Com as alterações feitas e commitadas no seu branch, volte para o master e faça o merge:

$ git checkout master
$ git merge --squash minhas_paradas

Faça o commit pro git:

$ git commit -a -m "Funcionalidade tal implementada."

E agora pro svn:

$ git-svn dcommit

E é isso. Pra manter o seu master branch atualizado em relação ao repositório svn use o rebase do git-svn:

$ git checkout master
$ git-svn rebase

Palestra sobre Software Livre e Open Source no CIn

Jesus me chamou, em nome do PET, pra aprensentar novamente aquela palestra sobre Software Livre e Open Source pro pessoal do CIn, em sua maior parte pessoal do primeiro período.

Já havíamos apresentado essa no passado, também pra uma maioria de alunos do primeiro período. Um costume que chamamos carinhosamente de “lavagem cerebral”, mas num sentido bem positivo – pense em cérebros limpinhos e aquele ursinho do comercial do Comfort.

Os slides foram aqueles bons e velhos (a anedota dos russos continua funcionando!), que você encontra aqui:

Cheguei meio atrasado e não deu tempo de usar o laptop, então usei os do slideshare com a opção fullscreen. Ponto pra eles, embora meu slide com a mensagem subliminar não tenha aparecido direito.

A experiência foi bem legal, vi um monte de gente que não encontrava faz tempo, e pensei que tinha esquecido do conteúdo da apresentação, mas não esqueci. 🙂 Expliquei SL e OS, como é feita uma distribuição, o que são padrões abertos, fiz um jabá do Maemo e do INdT (depois ainda dei uma cutucada no professor Fernando Fonseca pra deixar o pessoal usar Postgres no lugar do Oracle na disciplina de Banco de Dados :D). Tentei dar uma ênfase sobre os pontos que fazem valer à pena desenvolver software open source, que eu me atrevo a resumir num ponto: vocês se tornarão melhores programadores. Claro que elaborei mais, e penso que fui convincente o suficiente pros calouros não acharem que isso é coisa de comunistas e hippies sujos.

Maemo SDK Appliance, release 0.6 “Be kind.”

New vm appliance everybody, the last one was redone from scratch because of some problems with Open VM Tools, and I managed to miss other things too, like the hildonmm development packages. ><

This one, even still made by a humble human, should be (almost (i hope)) bug free. As usual updates to the packages included, check the changelog:

  • The latest PyMaemo.
  • Eclipse 3.3.1.1 with CDT 4.0.2, PyDev 1.3.14 and ESbox 1.3.6 plugins.
  • Using Open VM Tools ver. 2008.02.13-77928.
  • Using kernel for virtualization.
  • Scripts to automate image creation.
  • EFL (ecore, evas, etc. and python-evas) installed from extras repository (instead from CVS source).
  • Nokia Binaries installers fixed.
  • Vala not included in this version.

Download in the website.