O prazer de programar

Posted 7 months, 3 weeks ago at 7:16 pm. 0 comments

Depois de mais de um ano longe, finalmente fiz alguma coisa decente em Python! Há muito achava programar uma tarefa maçante - agora meu ânimo está de volta.

Na verdade, o que fiz foi um port de um programa em Tkinter para PyGTK (pois é, só Python pra deixar GTK interessante) e uma adaptação para funcionamento multi-plataforma (Utilizava puramente a win32api). A aplicação serve de interface com um dispositivo captador de sinais que será utilizado como dispositivo de acessibilidade.

No momento certo elá será disponibilizada e distribuída para uso e modificação à vontade.

Fim da UPA, ufa!

Posted 8 months, 2 weeks ago at 6:33 pm. 0 comments

Depois de dois cansativos dias, a UPA (Unicamp Portas Abertas) finalmente encerrou. Foi minha primeira participação no evento e, apesar de estar absurdamente cansado, gostei muito do trabalho.

Dividi o estande com um amigo da minha turma de Computação e que também trabalha comigo. Apresentamos o projeto dele de iniciação científica (falarei sobre tal quando tivermos material pronto) e tiramos a tradicional dúvida sobre “a diferença entre engenharia e ciência da computação” infinitas vezes.

Adorei o evento! Não sei se terei pique para trabalhar ano que vem denovo, mas foi muito legal conhecer pessoas novas, tanto da unicamp quanto de outras instituições, cidades, estados. Dá pra conferir o blog do evento e ter uma idéia de como foi, mas pra curtir mesmo só indo lá.

Programação, gambiarra e kernel

Posted 8 months, 3 weeks ago at 10:56 pm. 0 comments

Bom, após trabalhar na geração de uma mini-distribuição Linux adequada para sistemas embarcados rodando o RTAI, com tudo bonitinho, ambiente de desenvolvimento documentado e scripts for-dummies para realizar diversas tarefas, parti para portar uma aplicação embarcada para rodar no novo Kernel (2.6.x).

Se fosse só isso eu estaria muito feliz, mas se fosse legal não seria um bolsista fazendo… A aplicação foi desenvolvida há alguns anos para um Kernel da geração 2.2.x, hackeada da pior maneira possível há alguns outros anos para rodar na geração 2.4.x e, o pior, foi escrita em C++!

Não me entendam mal, C++ é uma das minhas linguagens favoritas e acho que facilitaria muito o desenvolvimento de drivers se ela fosse suportada no Kernel do Linux, mas ela não é. Qualquer tentativa de utilizar C++ em módulos resulta em uma tremenda sujeira: Compilação complicada, linkagem estranha, modificação de headers e wrappers das chamadas de sistema em C.

Em uma reunião mais ou menos informal consegui ao menos explicitar o fato de que reescrever o programa em C seria a melhor alternativa - não há absolutamente nada de Orientação a Objetos no código e utilizar o próprio sistema de build do Kernel tornaria a aplicação muito mais “resistente” a futuros saltos de versão. Mas, talvez por motivos de tempo, decidiu-se que eu farei mais um hack no programa para que ele funcione em C++ mesmo.

Enfim, gambiarra é a coisa mais natural num programa, mas ter que arrumar a dos outros fazendo mais gambiarra é muito triste.

Bolsista sofre!