Dois aniversários
Sábado, dia 27 de setembro, comemorou-se o GNU anniversary (ou GNU/Anniversary, como preferem alguns). 25 anos atrás Richard Stallman anunciou ao mundo que pretendia desenvolver um sistema operacional completamente livre chamado GNU. GNU quer dizer "GNU's not Unix".
Quem for, me conta como foi
Essa semana rola (quinta, sexta e sábado), no Rio de Janeiro, a PyConBrasil.
Para quem não sabe (e não quis clicar no link) a PyConBrasil é uma conferência anual voltada aos usuários, curiosos e simpatizantes da linguagem de programação Python.
Python é uma linguagem poderosa, completa e fácil de aprender (eu consigo ensinar um programador a dar os primeiros passos em Python em coisa de duas horas - menos, se ele for esperto) e que está no centro de coisas muito legais que eu uso todos os dias como o Zope, o Plone, o Django e o Google App Engine. É duca.
Então... Eu estou aqui, olhando para a grade de palestras e lamentando minha inépcia ao negociar contratos que me custou uma ida ao Rio.
Então... Quem for, por favor, me conte se foi legal.
OpenID e Mission Creep
"Mission Creep" é um termo militar usado quando o escopo de uma missão se expande além do originalmente planejado. Foi usado originalmente para descrever a operação de ajuda humanitária à Somália em 1992 que terminou no que poderia ser descrito como uma guerra civil.
OpenID é um padrão de autenticação cross-site que deixa você usar suas credenciais do Google, do Yahoo e de mais um monte de outros para se autenticar em outros sites participantes do padrão (como esse que você está lendo).
Ontem eu resolvi consertar o problema que estava acontecendo com o OpenID - usuários de Yahoo e Google não conseguiam se autenticar para deixar comentários no blog. No início, a coisa parecia simples: impor números de versão no arquivo de configuração do sistema de buildout e deixar que ele resolvesse tudo sozinho.
Não funcionou. O buildout queria instalar duas versões diferentes não importando o que eu dissesse no arquivo de configuração
Instalar os eggs manualmente e fingir que nada aconteceu também não funcionou. O Plone levantava e "não dizia coisa com coisa" (não era capaz de renderizar nenhum template)
A solução foi atualizar um dos componentes do sistema de buildout (o componente responsável pela "receita" de como se faz um Plone), rodar o sistema de buildout e deixá-lo fazer tudo por conta própria.
Dessa vez deu certo, mas eu acabei com uma versão nova do Plone (3.1.5.1) e de todos os outros produtos instalados nele.
Eu tinha um problema com uma biblioteca que era parte de um dos dois sistemas de login do site. Terminei com versões novas de tudo.
Crianças... Nunca façam isso em servidores de produção. Só não foi mais emocionante porque eu tinha bons backups.
Djangocon
Estava sábado na Djangocon, que foi transmitida ao vivo para o escritório da Google em São Paulo. Obrigado ao Rodolfo, que interrompeu as férias dele para fazer isso acontecer, e a todo o pessoal da Google, que cedeu infra, comida e tudo o que foi necessário para a coisa acontecer tanto aqui como lá.
A diferença de horário mata um pouco - o evento rola até as 23 horas (aqui em GMT-3) - mas as palestras de ontem foram bem interessantes. Quem sabe ano que vem rola a transmissão dos dois tracks simultâneos. Quem sabe, no ano que vem, eu consigo assistir mais delas. A organização promete que elas estarão disponíveis no Google Videos. Eu acredito. O pessoal é bom.
Se você não conhece Django, azar o seu. Você poderia estar fazendo mais, melhor e com menos esforço.