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.

Ninguém disse que era fácil

Na verdade, ninguém disse nada.

Cheguei aqui no CIn mais de 10 horas da noite e tinha música tocando, latas empilhadas e uma dúzia dos melhores caras que eu não imaginaria conhecer. Estavam todos bêbados, felizes e me empurraram uma cerveja, mais um monte de perguntas, abraços e apertos de mão. Tem poucos lugares no mundo onde um aluno é tão bem tratado como aqui, e também poucos onde é tão mal-tratado e largado pra passar um bom tempo fazendo projetos e virando noites junto com os outros “infelizes”. No fim todos acabam virando um tipo de família. Se você está lendo isso e está entrando agora, aproveite. Aproveite tudo.

E os caras botaram The Scientist do Coldplay pra tocar no que sobrou da festa de volta às aulas. Ninguém disse que ia ser fácil. ><

Então estou indo embora, infelizmente chegou num ponto que não dá mais pra continuar. Mas não me sinto um perdedor. Faz uns anos que eu era um sujeito fugido da escola que não pensava na universidade como algo interessante, e com uma visão de futuro pra no máximo 2 semanas. Foi muita coisa até chegar aqui, sempre contra as probabilidades, e sempre sem saber direito o que estava fazendo. Melhor assim, se soubesse talvez acreditasse nas probabilidades. Ou não, pois sempre digo que os humanos são bons em subverter a ordem natural das coisas; a natureza tenta nos matar o tempo todo e ainda estamos aqui.

E se você está nessa vida de projeto de engenheiro (ou cientista, ou matemático) e as coisas vão bem, lembre que quem começou a fazer sua graduação foram seus pais, há muito tempo (e não estou falando só de fabricar você). Senão, bem, não vá culpar eles por seus problemas, algumas coisas são do jeito que são. Existe um molde de aluno ideal pra certos cursos e universidades, se você não se encaixar por qualquer motivo, vai ter de agüentar quatro ou cinco anos fazendo contorcionismos pra entrar no molde. Algumas vezes simplesmente não encaixa. E não estou falando só de vocação e inteligência (suponho que tenho as duas, já que entrei no curso e fiquei por tanto tempo).

Bom, foi uma “despedida” inesperada, é bom ter de quem se despedir. Valeu pela cerveja.

No lado bom das coisas, estou começando Licenciatura da Computação na UFRPE, à noite. Pesquisei bastante as possibilidades, e a Rural apareceu como uma ótima opção. O lugar é muito agradável, muitas disciplinas foram dispensadas, todos me fazem sentir bem-vindo e as coisas parecem querer andar.

Agora começo de novo.

Workshop de Python do CInLUG, pt.2

O segundo Workshop de Python do CIn terminou faz uma hora, e creio que foi bem proveitoso. Tivemos mais exercícios que da outra vez e o pessoal parece ter sacado a facilidade e poder da linguagem. Viva. :)

Ainda vamos decidir qual será o assunto do próximo, mas deve ser algo além do básico, e o mais provável é que a periodicidade seja quinzenal.

Os slides estão no site do CInLUG e aqui:

Nota: as respostas dos exercícios estão nos slides, baixe o arquivo ODP, abra com o OpenOffice e peça pra ver as anotações que lá estarão as soluções.

Workshop de Python do CInLUG, pt.1

Ontem o CInLUG, com apoio do PET, realizou um workshop de Python no Centro de Informática da UFPE. Lauro e eu fomos os instrutores, com apoio de Rodrigo e Jesus.

O evento foi aberto, gratuito e sem inscrição. Demos uma introdução bem introdutória à linguagem Python, falamos de tipos, estruturas de controle, usamos muito o terminal (nada de IDEs por hora :P) e dos projetos (nossos e famosos) e empresas que usam Python. Creio que a facilidade e flexibilidade de Python (listas, dicionários!) impressionou e que a quebra no monótono regime Javanesco do CIn criou novas conexões neurais nos cérebros presentes.

Apesar de ter acontecido no laboratório onde acabaram de instalar um brand-shiny-new Ubuntu Feisty (há anos não tínhamos Linux nos laboratórios), preferimos fazer tudo no Windows, pra não ficar a impressão subliminar que Python é “coisa de Linux”.

Pretendemos continuar com mais 3 workshops, mas ainda vamos decidir se será semanal, quinzenal ou uma combinação dos dois baseada na nossa disponibilidade de tempo. De qualquer modo vamos avisar com antecedência.

Obrigado a todos que foram. :)

P.S.: pra minha namorada que foi lá, tome um beijo ;*

A página com mais informações e download dos slides está no CInLUG. Mas você também pode ver os slides aqui:

Compilando LogicParser em Win32 com MinGW e MSYS

Minha primeira e emocionante compilação de algo que estava desenvolvendo no Linux no insalubre ambiente Win32. Primeiro o screenshot e depois a história:

LogicParser no Windows

O ambiente de build foi montado usando MinGW/MSYS/msysDTK e o GTK+/Win32 Development Environment. A primeira compilação deu errado, mas setei a variável de ambiente PKG_CONFIG_PATH para /c/temp/GTK/2.0/lib/pkgconfig e tudo correu muito bem, mais fácil do que esperava. Depois vou ver como compilar estático pra fazer um executável morbidamente obeso, mas muito conveniente.

A aba “Graph (Image)” não funciona pois não consegui instalar o GraphViz no computador do CIn pois não tenho privilégios de administrador. Pelo menos isso me ajudou a decidir usar o GraphViz via biblioteca em lugar de usar o g_spawn_sync da GLib para chamá-lo externamente. Além disso, pra esse negócio ficar mesmo cross-platform tenho de usar algumas funções utilitárias da GLib, como g_get_tmp_dir e coisas assim.

Referências úteis nessa empreitada:

Apresentação sobre desenvolvimento em Linux

Um dos grupos da disciplina carinhosamente chamada de “Projetão”, que temos lá no Centro de Informática, resolveu usar a plataforma Maemo para o projeto deles. Como a maior parte da equipe havia tido pouco contato com Linux, fui convidado a fazer uma rápida explanação do ambiente de desenvolvimento Linux. Detalhes e a apresentação aqui.

Bom ver o pessoal do CIn usando plataformas Linux, mas uma pena que a infra-estrutura de lá não ajude em nada. Mas eles já pediram máquinas com Ubuntu ao suporte, veremos o que acontece.

portemu (no windows da escola)

Agora no Windows(TM):

portemu-win

Funcionou como devia. Recapitulando o que é necessário:

Mais tarde vou investigar o Py2Exe pra gerar um executável pro Win32 com todas as DLLs embutidas. Claro que vai ficar enorme, mas hei, banda larga está aí e seu HD é enorme, e acredite em mim quando digo que é menos chato um grande download do que vários downloads e instalações pra chegar num programinha simples.
E quem já tem essas coisas instaladas sempre vai poder baixar o arquivo .py

Até lá Lauro e eu destemidamente aprimoraremos o portemu pra tentar uma inclusão na disciplina de IHS. Isso se eles já não mudarem pra USB no próximo período… mas aí mudamos também. =D