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.

Dica: Open VM Tools

Se você está fazendo uma appliance Linux para o VMware, não deixe de instalar o Open VM Tools no sistema guest. Vai te permitir copiar e colar texto e arrastar e soltar arquivos entre o sistema guest e o host. Se o guest é baseado em Debian, sugiro o pacote mantido pelo Daniel Baumann.

Você deve pegar o pacote fonte (ele contém uns módulos pro kernel, então é necessário compilar para cada caso) e construí-lo dentro da vm. Esse script deve ajudar: install_openvmtools.sh Ele baixa, instala as dependências, instala o pacote, compila e instala os módulos do kernel e faz aconselhamento sentimental. Mas atenção: verifique a url e versão do pacote no script, você pode ter de atualizar alguma coisa. Claro que eu poderia ter adicionado o repositório unstable e dado um apt-get source, mas eu quis assim.

Uma vez instalado você pode ter 2 problemas: a rede do guest pára de funcionar, e toda vez que reinicia aparece uma mensagem de erro por parte do vmplayer reclamando de problemas no script de poweron.

Quanto à rede, você deve informar o vmware que está usando o módulo vmxnet e não o pcnet32, incluia essa linha no arquivo vmx:

ethernet0.virtualDev = "vmxnet"

Reinicie a vm e verifique se a rede está funcionando, e tente também:
$ lspci | grep Ethernet
00:10.0 Ethernet controller: VMware Inc VMware High-Speed Virtual NIC [vmxnet] (rev 10)

Quanto ao erro do script de poweron, rode o vmware-toolbox dentro da sua vm, vá na aba “Scripts” e desabilite tudo descaradamente. É uma solução.

O pacote open-vm-tools deve entrar no Ubuntu Hardy, mas parece que ainda está capenga.