Tempo e disciplina

Apesar de ser ainda muito jovem (tá, eu admito que estou com alguns fios de cabelo branco aparecendo e alguns dos fios pretos insistem em se suicidar pulando da minha cabeça) eu programo computadores a bastante tempo. Pra falar a verdade eu programo computadores desde meus 9 anos de idade (nasci em 1977) quando programava em LOGO (aquela da tartaruga) e Basic (MSX e Apple).

Já notaram como nerds são saudosistas? 🙂

Apesar da minha pouca idade eu era um mini-nerd muito disciplinado. Sempre que começava a desenvolver alguma coisa parecia uma máquina de produzir código (e quando eu vi alguns desses códigos recentemente descobri que eu programava muito melhor do que hoje). Sentava diante do meu Expert e começava a ‘fritação’, comia os lanches oferecidos na minha jaula… digo… quarto com uma das mãos enquanto a outra digitava ‘if opc$ = “a” then gosub 10000: rem subrotina foo’…

Nos finais de semana meus colegas do bairro (sim, eu era um nerd com amigos, não me pergunte como eu fazia) iam todos para casa jogar no meu computador. Mas não iam jogar “Kings Valley” da Konami, iam para jogar o ‘superjogo’ feito por mim “ED-209” (inimigo do Robocop) que movimentava “Sprites” e fazia side scrolling… jogo bom mesmo.

Hoje eu não consigo mais essa façanha. Pareço um doente de ‘DDA’. A desculpa que eu dava era a de que eu não tinha tempo. Mas neste exato momento eu tenho tido bastante tempo e mesmo assim não tenho produzido nada.

Posso tentar criar diversas desculpas para esse problema mas a verdade é que minha disciplina foi-se embora a muito tempo e mal consigo segurar um pouquinho dela para fazer um post para esse blog.

Esse tipo de situação faz com que eu sinta uma inveja muito grande (uma inveja sadia daquele tipo que parece muito com admiração) de pessoas como o Gustavo Niemeyer. O Gustavo parece ter um dia de 36 horas para trabalhar. É impressionante a lista de projetos que ele consegue produzir. Ontem ele lançou a versão 1.0 do módulo DateUtils para Python. Isso foi pouco tempo depois dele ter apresentado uma palestra na EuroPython sobre o outro módulo Python para resolução de problemas de restrições que ele também fez. Ele também fez o Smart e o Pybot, tem também o LunaticPython e o … e o … e o …

Não é pra ter inveja? 🙂

Eu não fiz links para os projetos dele porque deu preguiça e porque todos estão listados na página pessoal dele.

Para compensar a total falta de coisas feitas em casa eu tenho feito bastante coisa legal no trabalho. Tenho trabalhado com Python (e C, já que estou fazendo bindings para uma biblioteca feita em C) para fazer com que essa linguagem seja bastante usada na plataforma Maemo.

800!

Parece que estou inspirado hoje… Acho que o motivo é que passamos a marca dos 800 membros na nossa comunidade pythoniana 🙂

Agora é trabalhar bastante para continuarmos crescendo até dominar o mundo… 🙂

Conseguimos superar essa marca porque o BR-Linux publicou uma notícia falando sobre o sucesso de nossos amigos Rodrigo Senra e Gustavo Niemeyer estão fazendo na Europython.

Parabéns à todos que contribuiram para atingir esse número de usuários e parabéns ao Rodrigo Senra e ao Gustavo Niemeyer pelo trabalho realizado.

Submissão de trabalhos pro Conisli

Finalmente eu consegui.

Não sei qual é a razão mas aparentemente o sistema de cadastramento de proposta de trabalhos pro Conisli tem uma certa implicância com meu endereço de e-mail no Gmail. Foi só colocar o endereço de e-mail da minha conta no provedor Oi que eu consegui receber a senha de acesso ao site.

Aliás, vou fazer uma observação que pode parecer maldosa mas é na intenção de sugerir melhoras: Que sisteminha horrível aquele. Além da implicância com meu e-mail ele ainda ficou um tempo considerável sem funcionar.

Agora é esperar. Será que o Conisli aprova palestras sobre Python? Ou a mesma história do FISL vai se repetir?

Recomendação de Leitura

O post de hoje é só uma indicação de um outro post (eu ainda vou escrever sobre como é difícil ser ‘criativo’ todos os dias para postar em um blog) de um outro blog de uma amigo meu.

O Fabio Olive atualmente trabalha numa empresa que tem um ambiente-padrão-corporativo-de-IT (tipo de ambiente onde também trabalhei) e dá uma visão bastante pessoal e informal sobre o que ele acha desse tipo de ambiente.

Recomendo uma lida nesse post.

Trabalho no Porte do Python

O post de hoje é para mostrar para você como é que tem sido o trabalho do “porte” do Python para a plataforma Maemo. Como todos já devem saber estou trabalhando em Recife no Instituto Nokia de Tecnologia. Depois de algum tempo eu consegui que me autorizassem tirar uma foto de nosso escritório em pleno dia de trabalho.

Espero que vocês não sintam muita inveja 🙂

Codegen Definition file generator

Já dizia meu pai: ‘Cabeça não pensa, o corpo sofre’. Precisei de um gerador automático de arquivos de definição (.defs) usados pelo codegen do PyGTK para gerar automaticamente os bindings Python para o PyGTK aqui no meu trabalho.

Após uma rápida procura dentro do diretório codegen do PyGTK não achei nada que poderia fazer esse tipo de tarefa e então parti para a ‘ação’ e fui implementando um scriptzinho que fizesse isso.

Hoje me deu um ‘estalo’ e eu resolvi perguntar para o Kiko se ele sabia de algo que fazia isso. Ele me respondeu: ‘codegen/h2def.py’. Resultado: trabalho perdido :
De qualquer forma eu usei uma maneira ligeiramente diferente para resolver o mesmo problema.

Acontece que o meu script não está completo ainda (falta parsear estruturas ‘enum’) e estou com pressa para terminar meu trabalho. Como já existe um script pronto para fazer isso vou usá-lo agora e futuramente termino o meu.

Para o caso de eu demorar para voltar ao meu script vou disponibilizá-lo aqui. Se alguém quiser mexer nele, ou, submetê-lo para o pessoal do PyGTK, mande bala.

Python, Pygame e Nokia 770

Hoje eu e o Rudá fizemos o teste definitivo do Python com Pygame no Nokia 770. Testamos ele com o jogo Solarwolf que é um dos joguinhos mais completos no site do Pygame. Enquanto eu preparava ele pra rodar no 770 (eu tive que truncar a imagem que originalmente era 800×600 para que ela coubesse na tela de 800×480) eu pensei: “Isso não vai funcionar. Vai ficar lento toda a vida”.

A boa notícia: não ficou lento! 🙂 A má notícia: O protótipo que a gente tem aqui não está com o som configurado ainda, logo, o jogo ficou mudo.


Particularmente fiquei superfeliz com o resultado. A gente já tem todos os pacotes prontinhos para rodar isso dentro do Scratchbox. Só não disponibilizamos publicamente ainda porque estamos com um probleminha que tá impedindo que a gente se conecte com nosso servidor Web.
Além desse trabalho eu estou fazendo os bindings Python para a biblioteca Hildon da plataforma Maemo. O segredo para isso é gerar uns arquivos com a extensão ‘.defs’ (com sintaxe Scheme) com as definição das APIs da biblioteca em C. Para não ficar fazendo ‘trabalho de macaco’ eu estou fazendo um gerador automático de ‘.defs’. Se funcionar direito eu acho que será útil para o pessoal que desenvolve o PyGTK também.

Precisamos nos mexer

Hoje eu li um e-mail na lista de discussões que foi enviado pelo Ramiro (e complementado pelo Luciano Rodriguez) que fala sobre um projeto chamado “Programa Técnico Cidadão“. Esse programa visa dar treinamentos gratuítos de Java para jovens de baixa renda.

Peço perdão pelo palavreado, mas acho que esse tipo de programa é do c*ralho. Quando eu vejo a comunidade Java fazendo esse tipo de coisa eu sinto uma enorme inveja (uma inveja sadia) deles. Queria que a nossa comunidade fizesse o mesmo e ao mesmo tempo me sinto incapaz de ‘correr atrás’ de criar um projeto nesse estilo.

Os mais apressados provavelmente vão me dizer: “Não fica com inveja não Osvaldo, eles só conseguem fazer esse tipo de coisa porque eles tem patrocínio da Sun, do ITI e do Serpro”. E é nesse ponto que eu discordo.

A gente não teve dinheiro e organizou nossa 1a. PyConBrasil (tá, na verdade quem organizou foi o Senra com a ajuda do Rubens Queiroz e o pessoal da Unicamp). Foi grandiosa como a Sun Tech Days? Provavelmente não. Mas eu, que já assisti a algumas palestras da Sun Tech Days, posso dizer que nossas palestras tinham um nível muito bom e o público presente ao evento estava muito mais interessado em Python do que os programadores Java estavam interessados em Java.

Acho que pra que esse tipo de iniciativa siga em frente nós da comunidade pythonica precisamos nos mexer e ‘agitar’ mais o nosso meio. Algumas vezes precisamos sair da frente de nossos computadores e de nossas tarefas de desenvolvimento, vestir um ‘bonézinho marketeiro’, a partir para a luta.

Porque é importante divulgar Python hoje? Para que no futuro a gente não consiga trabalhar com Python porque nenhuma empresa vai querer usar essa tecnologia por não conseguir achar profissionais especializados.

Quero deixar claro também que na nossa comunidade não existem figuras de ‘liderança’ nos mesmos moldes do Bruno Souza/Javaman que trabalha ‘agitando’ as coisas para a comunidade Java. Na nossa comunidade todos são livres para iniciar as coisas. Depois de iniciadas é só pedir ajuda que certamente receberá.

Aos empresários, mesmo os pequenos empresários, é interessante lembrar que é possível ajudar a comunidade a promover esse tipo de atividade sem desembolsar (ou talvez desembolsando muito pouco) dinheiro.

Vamos começar a agitar coisas legais que façam com que as outras comunidades sintam a ‘invejinha’ que hoje eu sinto delas.

Conisli, a redenção(?)

É isso aí. O pessoal do Conisli iniciou o processo de recebimento de proposals para o seu congresso que vai acontecer em São Paulo nos dias 3, 4 e 5 de novembro desse ano.

Acho que chegou o momento dos pythonistas brasileiros submeterem todas aquelas palestras que foram recusadas para o FISL. Como o Conisli é um evento com o foco mais ‘técnico’ e menos ‘político’ a gente tem mais chances de ser ouvido. Acho que isso pode acontecer porque se a gente não tem um lobby político certamente temos um lobby no meio técnico que é formado pelos vários desenvolvedores de SL brasileiros que realmente desenvolvem software livre aqui no Brasil.

Os grandes desenvolvedores de SL aqui no Brasil usam Python e quando não usam Python possuem uma grande simpatia por essa linguagem.

Quando estiverem submetendo suas palestras tomem um cuidado muito grande na descrição da mesma. Sejam objetivos e evitem ‘difamar’ tecnologias nessas descrições elembrem-se que os patrocinadores do evento podem não gostar de ver palestras que falem mal de seus ‘produtos’ (vide provável caso FISL / Sun / Java / Python).

Para os palestrantes de primeira viagem uma dica: lembrem-se de pedir ajuda para palestrantes mais experientes. Tenho certeza que pessoas como o Rodrigo Senra, Rudá Moura, Gustavo Niemeyer e até mesmo eu terão o maior prazer em ajudá-los com informações, dicas para montar apresentações e até mesmo para ‘revisarem’ a mesma depois de pronta.

Vamos trabalhar para ocupar todos os espaços a que temos direito nesse evento.

Arrogância Pythonica

Não é muito raro ouvir (ver) em alguns sites pessoas dizendo que a comunidade Python é arrogante. Também não é difícil notar que existem talvez umas 3 pessoas que dizem isso. Este post se tornou necessário porque apesar de serem poucos essas pessoas são extremamente ruidosas.

Se o trabalho deles é o de ‘destruir’ a nossa comunidade temos que agir imediatamente para derrubar o mito criado por essas pessoas.

A comunidade Python no Brasil hoje está crescendo num ritmo bom que garante que ela aumente de tamanho sem perder a qualidade, ou seja, estamos crescendo e não inchando.

Para todos os pythonistas brasileiros é importante ter pessoas esforçadas em aprender e a estudar essa ferramenta e não sangue-sugas que simplesmente entram para o time porque é sexy usar uma ‘linguagem alternativa’ ou porque precisam entregar um trabalho para o seu professor e precisam de alguém para fazer o serviço (esse tipo, aliás, não é exclusivo de nossa comunidade).

Algumas das pessoas que propagam que a comunidade Python brasileira é ‘arrogante’ fazem parte dessa imensa minoria que tentara dar uma de espertos para cima da nossa comunidade.

Coisas do tipo “<loser> Ei! faça o meu trabalho de faculdade? <pythonista_arrogante> Não <loser> Nossa! Como vocês são arrogantes!” são menos incomums do que deveriam ser.

Uma outra coisa que também faz com que o clima esquente em nossas listas de discussão é: intolerância. Fico impressionado como as pessoas andam intolerantes. Juntando à essa intolerância a impossibilidade de expressar sentimentos via e-mail e o estrago está feito. Vou ilustrar algo real que aconteceu em nossa lista recentemente em uma discussão que falava sobre a total liberdade dá ao programador e sobre os perigos que isso representava:

—–8
Parece coisa de C o programador sabe o que ta fazendo ele permite fazer qualquer loucura heheh
—–8

Uma opinião pessoal interessante, com um “heheh” no final que demonstra claramente que trata-se de uma brincadeira. A resposta para isso foi:

—–8
Cuidado com este tipo de comentário. Está sugerindo programadores em Python não sabe o que está fazendo?
—–8

A nossa sorte que a pessoa que mandou a primeira mensagem era uma pessoa legal e não resolveu sair da lista e sair por aí falando que todos os pythonistas agem dessa maneira. Não é legal condenar toda uma comunidade por um equívoco cometido por um dos membros. O pythonista que foi descuidado em sua resposta, por exemplo, é um excelente membro da lista e prontamente responde à todos que solicitam ajuda, mas dessa vez, admito, pisou na bola.

Esse problema também ocorre em diversas outras listas de discussão que eu participo e por isso eu digo e repito à todos que estão lendo isso aqui: Sejam tolerantes em discussões, principalmente nas ocorridas através de mensagens escritas onde a carga emocional não pode ser trasmitida de forma satisfatória.

Uma outra dica para os recém-chegados ao meio do Software Livre em geral: ninguém tem obrigação de te ajudar em nada no universo do Software Livre. As pessoas te ajudarão em solidariedade e no interesse de que a comunidade do Software Livre cresça com pessoas esforçadas. Na comunidade do Software Livre não tem bobos e ‘nerds babões’ como dizem por aí, portanto, não tentem dar uma de espertos pra cima da gente que não vai colar. Demonstre que você já tentou solucionar os seus problemas antes de enviar uma dúvida para uma lista.

E o recado mais importante: Antes de mandar uma mensagem para uma lista de discussões (qualquer uma e não apenas a python-brasil) dê uma lida nesta página para que depois você não fique nos chamando de arrogantes.