PyCon 2008 - 2o dia

Como eu tinha previsto, o segundo dia foi tão cheio de conteúdo quanto o primeiro. O número de presentes também aumentou, o que pude observar pela quantidade de mesas que precisaram montar nos corredores para que todos pudessem almoçar sentados.

A primeira palestra do dia, na verdade, foi um anúncio do time do Twisted (site). Honestamente, eu nunca tinha ouvido falar neste projeto - apesar de, pelos comentários dos outros, ser um dos projetos mais antigos da comunidade Python. Realmente algo que eu preciso estudar.

Twisted

Em seguida, houve a apresentação do Brian “Fitz”, gerente de engenharia do Google aqui em Chicago. O título da apresentação foi o primeiro de diversos títulos interessantes e um tanto quanto “misteriosos” que tivemos hoje: “You can fool all the people all of the time” (”Você consegue enganar todas as pessoas o tempo todo”, uma piada com o ditado: “Você pode enganar algumas pessoas o tempo todo ou você pode enganar todas as pessoas por algum tempo, mas você não consegue enganar todas as pessoas o tempo todo”). Eu escreveria aqui uma explicação sobre a palestra do Fitz, mas como ele possivelmente vá dar essa palestra para o GruPy-SP, no dia 24, não vou estragar a surpresa :P Caso ele não possa participar da reunião do GruPy-SP, então eu publico em um outro post.

Fitz

A apresentação seguinte foi do Van Lindberg, um advogado, chamada “Propriedade Intelectual e Código Aberto” (original: “Intellectual Property and Open Source“). Ele começou por mostrar qual foi a origem das leis de IP (propriedade intelectual, em inglês) e o porque das necessidades delas.

Van Lindberg

Realmente foi uma apresentação muito boa, porque muita gente que conheço, e trabalha com open source, prega contra leis de direitos autorais na área de software, afirmando que o bem geral da sociedade só pode surgir com sistemas de código aberto etc. Van Lindberg mostrou claramente, usando até explicação matemática (com teoria de jogos), que o caso não é tão simples assim.

Na verdade, o GPL e outras licenças do tipo só existem porque as leis de IP regulamentam o setor, senão elas nem poderiam existir. Apesar do conteúdo extremamente focado para o domínio jurídico americano - não preciso explicar porque -, essa palestra, quando estiver disponível em vídeo, será recomendada por mim para diversos amigos evangelizadores de “anarquia tecnológica”.

Bom, encerrando a palestra que já estava deixando diversos presentes sem paciência (alguns começaram a reclamar no canal de IRC imediatamente quando souberam que um advogado estava falando), voltamos às apresentações técnicas. A próxima foi do Rodney Drenth que falou sobre como implementar máquinas de estados finitas utilizando decoradores de Python.

MEF

Infelizmente, o apresentador demorou demais para pegar o ritmo do assunto e acabou gastando muito tempo falando sobre MEF (acredito que ninguém no PyCon precisa de explicações detalhadas sobre o que são, como funcionam e pra que servem, porque todos já estudamos isso alguma vez na vida) e pouco tempo sobre a implementação de fato. Essa é mais uma apresentação que terei que reler o material sozinho no futuro.

Para quem gosta de complexidade de sistemas, testes e métricas para isso, a quinta palestra do dia foi um prato cheio. Apresentada por Matt Harrison, ela não tratou de análise de complexidade algorítmica (a notação do O), mas de uma análise mais simplificada do código-fonte com implicações em situações mais tangíveis no dia-a-dia da platéia como manutenção de código alheio, por exemplo. Infelizmente, eu não tenho um link para o material que ele utilizou durante a apresentação, mas vou ficar de olho - vale a pena ter como referência futura, principalmente por citar algumas ferramentas simples que alertam para problemas complexos que passam despercebidos (por algum tempo).

E para encerrar a manhã, tivemos a palestra do Alex Martelli sobre como trabalhar com callbacks em Python (essa palestra também teve um título interessante: “Don’t call us, we’ll call you” - “Não nos chame, nós chamaremos você”). Essa é uma palestra que os presentes no encontro do GruPy-SP, no dia 24, poderão assistir diretamente do Alex, então, para não estragar o conteúdo, vou segurar um post sobre o conteúdo até depois dessa reunião.

Alex Martelli

De qualquer maneira, não preciso nem falar que o modo de apresentar e o conteúdo que o Alex possui é indescritível, realmente vale a pena.

Após o almoço e uma breve pausa para o descanso mental, voltei para a terceira palestra com título engraçado: “Using Grok to walk like a duck” (”Usando Grok para andar como um pato”). Cheguei ao auditório sem saber ao certo o que esperar, só sabia que o Grok é um framework web, em Python, baseado em alguns módulos do Zope - até aí, como isso me faria andar como um pato continuava um mistério.

A apresentação do Brandon Rhodes (aqui) começou lembrando um raciocínio estabelecido pelo Alex Martelli (da palestra anterior) sobre os “tipos de variáveis” em Python: “Anda como um pato? Faz quack como um pato? Então deve ser um pato”. Isso aplicado às variáveis, diz que, apesar de não saber exatamente qual o tipo de uma delas, o programador assume que ela se comporta de determinada maneira, ou seja, você nunca sabe se, de fato, é um pato, você simplesmente sabe que se comporta como um.

O assunto da palestra então se tornou mais claro. Era sobre como você pode fazer certos objetos se comportarem de maneiras específicas, de modo a se passarem por um tipo diferente do que realmente são. E ele demonstrou como isso pode ser feito, principalmente na construção de middlewares, com Grok.

As duas últimas apresentações que eu assisti no dia tinham conteúdos técnicos mais leves. :)

A primeira delas, por Steven Wilcox, foi sobre como utilizar o módulo de administração do django, mesmo em projetos não desenvolvidos neste framework. Parece um tanto quanto bizarra a idéia e só quando ele começou a falar que entendi o que ele quis dizer.

Se você ler o material dele (aqui), verá que o que ele fez foi um hack bem interessante. Para conversar com um sistema legado dele, ele construiu um aplicativo django, com interface direta no banco-de-dados legado (apesar de sugerir não fazer isso e colocar alguns scripts de sincronização entre os bancos), no qual ele só utilizou o módulo de admin. Agora isso é a lei de mínimo esforço haha!

E a última palestra do dia foi feita pela esposa do Alex (sim, o mesmo da palestra acima), Anna Ravenscroft. O tema foi Regular Expressions: “To RE or not to RE“. O marido da palestrante publicou há pouco tempo um artigo analisando exatamente esse assunto, quando utilizar e quando não utilizar RE; apresentando resultados de benchmarks para convencer o leitor sobre seu argumento. O que eu esperava era uma apresentação ao vivo deste artigo.

Foi uma versão mais light (aqui). Tratando sobre casos quando não utilizar, Anna apresentou algumas situações para evitar REs. Se você quiser mais conteúdo, recomendo mesmo ler o artigo do Alex.

Bom, isso foi um “resumo” do que foram as principais apresentações do dia. Além delas, ocorrem incontáveis conversas nos corredores, micro-apresentações nas salas e trocas de informação informais por aí, não dá para resumir ou escrever sobre essas coisas - é preciso estar aqui.

Hoje também houve a primeira reunião para a organização do PyCon 2010! Sim, 2010. Dá para acreditar que eles estão trabalhando já em um evento que acontecerá somente em 2 anos? Só assim para entender a qualidade da organização!

Amanhã é o último dia de palestras e a transição para os dias de sprint que aconteceram aqui em Chicago. Voltarei com mais um resumo do dia aqui ;)

Saudades ainda maiores do meu amor, minha namorada! Mas falta menos de uma semana para retornar ao Brasil!

Beijos e abraços!

This entry was posted on Saturday, March 15th, 2008 at 23:21 and is filed under python. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

3 Responses to “PyCon 2008 - 2o dia”

  1. Me Says:

    mtas e mtas saudades! Te amo!

  2. John Harrison Says:

    Rootguy,

    A presentacao de Matt Harrison esta no blog dele: http://panela.blog-city.com/ e tenho certeza que ele daria respostas a qualquer perguntas voce tem sobre onde encotrar as ferramentas.

  3. Lorn Says:

    /me colocando o reader em dia ..
    Muito legal essa PyCon hein? eu não programo muito em Python, prefiro Perl :P mas acho que cada linguagem tem seu forte eu preciso me aprofundar mais em Python acho que é uma linguagem que vai mudar meu modo de pensar em programar ( um requisito básico para eu aprender uma linguagem a fundo ) assim como Lisp, Smalltalk e afins

Leave a Reply