I EPSL

Postado por Osvaldo Santana

Neste fim de semana estive presente ao I Encontro Potiguar de Software Livre em Natal. Esse post aqui é pra relatar a minha experiência como palestrante convidado pela organização do evento (juntamente com o Marcelo Handful).

A ida

Viagem de avião pela TAM Recife->Natal. É um vôo tão rápido que dá até vergonha ir de avião :). Cerca de 15min entre decolagem e pouso. Chegamos em Natal e o Paulo da organização do evento já estava lá esperando a gente para nos levar até o nosso hotel para que pudéssemos deixar nossa bagagem. Fica essa dica para organizadores de evento: ir buscar palestrantes no aeroporto demonstra uma preocupação e respeito pelos palestrantes, principalmente em eventos de SL onde quase sempre é o palestrante quem custeia suas despesas. Essa foi a segunda vez que isso ocorreu, na primeira foi na I PyConBrasil e em ambos os casos foram eventos que dispõe de praticamente 0 de patrocínio financeiro.

A cidade

Natal é muito bonita e a gente fica com a sensação de que não é muito populada porque quase não se via prédios por onde passávamos. Algumas pequenas dunas enfeitavam o nosso caminho. O hotel onde ficamos (Natal Plaza) era muito legal e ganhamos uma bela vista para o mar (a viagem e o hotel foram financiados pelo INdT onde trabalho).

O evento

Chegamos para a segunda parte do primeiro dia do evento que estava acontecendo nos auditórios do CEFET-RN e pudemos notar que os organizadores tinham feito um trabalho muito bom para uma primeira edição de evento. Eles estavam contentes por terem recebido cerca de 800 incrições mas tristes porque nos 2 dias a média de público girava em torno de 500 pessoas. Acho que isso tem relação com o fato do evento não ter sido cobrado.

O principal patrocinador do evento (Diginet) forneceu um link WiFi muito bom e algumas máquinas novas para que o pessoal pudesse usar. Pude notar que essa empresa é comprometida com o Software Livre e que eles também prestam um serviço bastante elogiado lá em Natal.

Mas o que me deixou feliz mesmo foi ver meu nome escrito no cartaz do evento me anunciando como uma das ‘atrações’ do evento (eita! vai ser vaidoso assim lá na…). Ninguém tinha feito isso comigo antes :) Não tinha visto meu nome escrito nem em cartaz de “Procura-se”. Trouxe uns 4 cartazes para mandar pra minha mãe ver e para guardar de recordação :D
Muitas palestras sobre Java e todos os seus “J”s. Foi palestra de J2EE, J2ME, Jenipapo, Jericoacoara, Jirimun… e por aí vai. Mas… tinha um curso de Python e esse curso, acreditem, foi ministrado por funcionários do patrocinador do evento. Legal, né? Até a não muito tempo atrás era possível contar nos dedos as pessoas que poderiam ministrar um curso de Python por aqui.

O clima de Python vs. Java voltou a aparecer. Mas dessa vez foi expontâneo e não incitado (como ocorreu no FISL onde ministrei a palestra “Matando o Java e Mostrando o Python” juntamente com o meu amigo Ruda). Durante uma mesa redonda onde os palestrantes se sentaram para conversar sobre SL recebi algumas perguntas bastante conhecidas e bobas, como a “Se Python é tão bom porque Java é mais usado?”, que foram respondidas e tiveram suas respostas aplaudidas por uma platéia animada.

A polêmica maior ficou por conta da palestra do Daniel Ruoso que é um defensor e desenvolvedor de SL que enfrenta um dilema sobre o software proprietário que sua empresa desenvolve. Esse dilema já está sendo tratado numa notícia BR-Linux (o site estava fora-do-ar e por isso não coloquei o link para a notícia).

Todas as apresentações foram gravadas mas não sei se serão disponibilizadas de alguma maneira para que as pessoas possam assistir.

A Apresentação

Eu e o Marcelo falamos sobre a plataforma Maemo, sobre Software Livre, sobre Python e ainda pudemos mostrar muito rapidamente como é que se desenvolve para Maemo.

A platéia vai abaixo quando a gente mostra o Nokia 770 rodando Doom (ao vivo).

Próxima Parada

Ainda não tenho detalhes nem está 100% confirmado. Mas tudo indica que a minha próxima aparição será no Rio de Janeiro.

Resumo

Foi legal. Gostei muito. E se for convidado, volto lá.


Python 3

Postado por Osvaldo Santana

Para quem tem acompanhado a lista de discussões Python Developers já deve ter percebido que as discussões sobre a versão 3 da linguagem Python vêm se intensificando a cada dia que passa.

Já foi dito a algum tempo atrás nessa mesma lista que a preocupação de manter compatibilidade retroativa com as versões atuais da linguagem Python serão praticamente nulas. Os desenvolvedores da linguagem se deram ao direito de quebrar essa compatibilidade para que finalmente eles possam corrigir erros de design que acompanham a linguagem desde as suas primeiras versões.

É importante que todos que usam Python intensivamente comecem a acompanhar essas discussões para já irem evitando certas ‘construções’ que não farão mais parte da linguagem no futuro. Existe uma quantidade considerável dessas ‘construções’, portanto, não vou ficar listando-as por aqui. Elas podem ser vistas em forma de propostas na PEP3000.

A sensação de acompanhar as discussões é: tensão. Eventualmente o Guido (BDFL) opta por algumas regras sintáticas e/ou construções na linguagem que me deixam consternados. Mesmo quando elas não passam apenas de propostas. Um caso recente foi quando ele sugeriu trocar os operadores lógicos “and”, “or” e “not” por “&&”, “||” e “!” como em linguagens com sintaxe baseadas na sintaxe da linguagem C.

Eu fiquei tenso por algumas horas até que várias pessoas votaram para que essa modificação não ocorresse. Eu fiquei preocupado porque eu gosto de ler uma expressão lógica como se estivesse lendo um parágrafo de um livro (if foo and bar:…) e não como se tivesse lendo uma tábua com hieroglífos (if foo && bar:…).

Outra sugestão que deram foi a de mudar o comportamento do retorno de expressões lógicas. Atualmente a linguagem Python usa um mecanismo de short-circuit para avaliar uma expressão lógica e o último elemento avaliado será retornado. Queriam que esse tipo de expressão retorne apenas “True” ou “False”. Acho que ambos comportamentos possuem vantagens e desvantagens e mudá-lo por mudar só faria com que mais código se quebrasse gerando erros realmente muito difíceis de encontrar. Ok, eu disse que já foi avisado que compatibilidade retroativa não é uma preocupação para o Py3, mas realmente é necessário quebrar compatibilidade com algo tão gratuito? Acho que não e parece que tem mais pessoas que pensam assim. A discussão saiu dessa linha de raciocínio e partiu para uma linha de proposta para criar um equivalente ao operador ternário da lingagem C (?:). Evidente que estão procurando uma sintaxe mais adequada do que a sintaxe usada pela linguagem C.

Eu gosto muito de Python e confio no julgamento do GvR para tomar decisões no desenho da linguagem, mas acompanhar as discussões na lista em tempos de mudanças tão grandes realmente não é indicado para programadores Python com coração fraco.

Em tempo: O pessoal do INdT e eu organizamos um pequeno “Planet” que ainda está hospedado em local temporário esperando pela liberação do domínio “maemo.org.br”. A versão provisória do Planet pode ser encontrada em “http://evolutum.gotdns.com/~osvaldo/planet/“.


Livro, Comunidade, Projetos, Maemo, Software Livre, Eventos…

Postado por Osvaldo Santana

É, devo admitir que as coisas não andam nada fáceis com relação à falta de tempo para dedicar à todos os projetos que estou trabalhando (e que pretendo trabalhar). Um dos que sofrem com essa escasses de tempo é este humilde blog

Para tentar organizar o meu tempo e para que algumas pessoas que acompanham os projetos onde estou trabalhando vou tentar explicar algumas coisas aleatórias neste post e aproveitar para dar algumas notícias legais.

Livro

Como vocês sabem estou escrevendo um livro sobre Python. Êita tarefinha difícil. Difícil porque sou exageradamente perfeccionista e fico horas ‘lambendo’ um parágrafo recém-escrito. Mas recentemente fiz algumas reviravoltas neste trabalho e negociei uma trégua comigo mesmo. A negociação comigo foi: Eu saio escrevendo desenfreadamente, com erros, com inconsistências e de qualquer jeito. Depois eu entrego esse monte de ‘lixo’ para algum amigo pythonista fazer marcações sobre o que está ruim e então o meu ‘eu’ perfeccionista trabalha somente em cima das marcações.

Outra coisa que fiz foi um refactoring no livro. Isso diminui ele de 26 capítulos para algo em torno de 16. Não quero mais dar uma de Donald Knuth e escrever uma enciclopédia definitiva sobre Python. A idéia do livro é focar no aspecto ‘prático’ do desenvolvimento de software.

Depois desse refactoring eu marquei com um tradicional “XXX” tudo aquilo que está faltando no livro. Terminada essa tarefa ficaram 26 “XXX”. Alguns “XXX” são pequenos como, por exemplo, falar sobre generators e alguns “XXX” são capítulos inteiros.

Preciso terminar de escrever esse material antes do começo de dezembro senão terei que dar mais alguns meses de férias para esse projeto em decorrência da mudança da minha família aqui para Recife.

Estou começando a pensar se já não seria legal procurar uma editora para viabilizar a publicação desse material. Vamos ver… vou continuar pensando um pouco mais nesse assunto.

Maemo

Como vocês sabem estou trabalhando num instituto de pesquisas da Nokia (INdT) onde meu trabalho consiste em transformar a linguagem Python na linguagem de scripting ‘oficial’ da plataforma Maemo (assim como o AppleScript para a plataforma Apple).

Só posso dizer que tá uma correria forte no trabalho e quase não sobra tempo para fazer outras coisas.

Projetos

Agora é oficial (viu Kiko?): O INdT vai me ‘patrocinar’ para trabalhar part-time no desenvolvimento do PyGTK+. Estou apenas finalizando algumas tarefas pendentes para me apresentar para o trabalho para o Johan Dahlin, para o Kiko e para o Gustavo Carneiro (entre outros grandes colaboradores deste projeto).

Tenho um interesse especial em tratar de um assunto relacionado a PyGTK+ e gobject-introspection. Após uma análise (ainda ligeiramente superficial) esse assunto me pareceu muito interessante e útil para o projeto GTK+, PyGTK+ e para todos os outros projetos que fazem bindings do toolkit GTK+ para outras linguagens de programação além de Python.

Mas também ficarei muito feliz em desempenhar tarefas mais simples que eles quiserem designar à mim (ficarei feliz porque ainda é um universo muito novo pra mim e isso possibilitaria um aprendizado muito mais fundamentado).

Eventos

Também é oficial. Agora o INdT criou uma ‘política’ para me liberar para fazer palestras. Portanto, se você vai organizar um evento e julgar que eu possa colaborar dizendo algumas palavras à sua platéia é só entrar em contato comigo.

A política do INdT para me liberar para apresentações é a seguinte: Estou liberado 1 vez por mês para participar de algum evento. Não importa se o evento tem 1, 2 ou 3 dias. O ideal é que o evento cubra despesas de viagem e hospedagem. Despesas com alimentação são cobertas pelo INdT. Se o evento já for um evento bastante difundido (como o FISL ou Conisli, por exemplo) o INdT arca com as despesas totais desde que a confirmação de minha participação saia com pelo menos 2 meses de antecedência (existe uma certa ‘burocracia’ no processo de aprovação desse tipo de despesas).

Quando eu receber mais de uma proposta num mês (como aconteceu agora pra outubro) quem escolhe sobre qual delas eu devo escolher é o meu coordenador no INdT, portanto, não fiquem chateados comigo caso receba uma recusa minha (na verdade não será uma recusa, só um adiamento).

Uma outra coisa que eu gostaria que os organizadores de evento fizessem mais é divulgar os Call for Papers/Chamadas de Trabalho para seus eventos em sites de notícia (eu acompanho diariamente o BR-Linux).

Camisetas

Recebi um e-mail do pessoal da Linuxmall me avisando que as camisetas “Python Powered” tiveram uma queda muito grande nas vendas. Prometi a ele que adotaria algumas medidas para melhorar essas vendas. Uma delas é essa:

Compre camiseta! R$18,90 + envio

Quando eu ‘desafogar’ um pouco e o dinheiro das comissões da camiseta e do Google AdSense tiverem acumulado uma quantia boa (juntando os dois devemos ter algo em torno de R$150) de dinheiro pretendo fazer um concurso brasileiro de “CookBooks” para o nosso site e premiar os melhores com livros, camisetas, brindes, etc.