Archive for April, 2007

Quem disse que seria fácil?

9 de April de 2007

Pois é meninos e meninas, o tempo parece ficar cada vez mais escasso. O período de provas intermediárias do quarto ano de Engenharia da Computação faz o tempo simplesmente desaparecer. E como se não fosse suficiente, ainda insisto em pegar alguns trabalhos extras para fazer em casa. O que posso fazer? Alguém precisa fazer o trabalho sujo. Como alguns vocês já sabem, em meus períodos de prova, meus posts ficam bem pobres e chego até a comentar sobre coisas que não tem muito (ou quase nada) a ver com o desenvolvimento de drivers para Windows. Assim como foi meu último post Off-Topic. O mais engraçado é que este post, que fala sobre minhas aventuras programando uma calculadora HP 50G, é uma das páginas mais visitadas deste blog. O que não é de se espantar. Contando comigo, quantos brasileiros você conhece que programa drivers para Windows? Se você conseguiu utilizar todos os dedos de uma mão, parabéns e me apresente alguns dos seus amigos. Eu trabalho com isso a anos e quase não consigo encher uma das mãos (contando com as pessoas que não trabalham mais com isso).

Neste post vou trazer um preview do que vêm por aí nos próximos posts. Minha semana de provas acaba nesta sexta-feira próxima, e depois disso, imagino poder respirar um pouco e poder atormentar suas vidas com esse assunto que ninguém dá a mínima.

Mas hardware que é bom…

Dos posts escritos até agora, ainda não comentei nada sobre escrever drivers que de fato façam alguma manipulação com hardware. Isso mesmo, interrupções, port I/O e por aí vai. Mesmo por quê o Brasil não é lá um grande produtor de hardware. Nas empresas que trabalhei até agora, somente na primeira delas eu tive que controlar um hardware proprietário que mantinha uma rede de coletores de dados. No restante das empresas, apenas utilizei os privilégios do Kernel Mode para complementar alguma solução em segurança. Filtros de File System para controle de acesso, fitros de rede, hooks de APIs nativas, filtros de teclado e mouse, filtros de disco, criptografia em tempo real e blá blá blá… Mas e o hardware? Talvez o maior obstáculo para desenvolver um driver para hardware seja a necessidade de ter de fato um hardware para controlar. Para quem não sabe, a OSR vende kits de treinamento focando nessa necessidade. Estes kits trazem placas, circuitos, fios, cabos, chips… Uhuuu!!! Enfim, hardware. Para os interessados, dêem uma olhada no site da OSR Online Store na sessão Hardware for Learning que oferece inicialmente dois kits. Bom, pelo menos oferecia. Enquanto eu escrevia este post, um dos kits foi retirado do site. Um kit é uma placa PCI com I/O Digital e outra é uma placa USB. Semana passada, finalmente chegaram os kits de treinamento que encomendei, e que baseados neles, pretendo construir alguns exemplos básicos a fim de compartilhar com vocês.

Curso de drivers para Windows em São Paulo

O principal objetivo destes kits de treinamento é servir de exemplo prático em um curso introdutório de desenvolvimento em Kernel Mode para Windows em uma universidade aqui de São Paulo. Neste último mês, fui convidado por esta universidade para dar um curso sobre este assunto tão pouco explorado aqui no Brasil (Ainda não encontrei outro site dedicado a desenvolvimento de drivers para Windows em português). O curso ainda está sendo preparado e ainda não tem data de início. Além do que se espera de um curso deste tipo, que normalmente é uma pessoa falando apoiada em kilos de PPTs, pretendo oferecer um diferencial relevante neste curso. Quero dar a oportunidade dos alunos poderem aprender o suficiente para poderem desenvolver seu próprio driver, que irá controlar uma placa de verdade. Sabe como é, um curso com tanto conteúdo sem a parte prática seria como aprender sobre física nuclear, onde vemos toneladas de teoria e as vezes não conseguimos imaginar como isso seria aplicado na vida real. Os exemplos e PPTs que forem criados para o curso serão disponibilizados aqui. Obviamente haverão situações e dúvidas interessantes que merecerão posts por aqui.

Treinamento File System OSR

E por falar em cursos e treinamentos, chegou a minha vez. No próximo sábado, dia 14 de abril, estarei embarcando para Boston para participar de um seminário de Desenvolvimento de File System para Windows promovido pela OSR. Serão quatro dias com toneladas de teoria sobre o assunto. Pretendo dar uma visão de como o treinamento é organizado e qual o rítmo que o conteúdo é apresentado. Afinal de contas, esse assunto né brinquedo não.

Engenharia da Computação

Por último e não menos importante está a influência do que estou vendo na faculdade sendo refletida aqui. Já comentei esse assunto com amigos e vejo que vai ser inevitável. O estudo de VHDL, microeletrônica, processadores e microcontroladores vai acabar se manifestando aqui na forma de posts Off-Topic de gelo. Talvez o assunto não seja completamente Off-Topic, já que software de baixo nível é um assunto que está intimamente ligado a hardware. De qualquer forma, prometo me controlar.

Bom, depois de tanta coisa, acho que fica mais fácil para vocês compreenderem minha falta de tempo para dar as caras por aqui. Mas não se preocupem discípulos do DDK, esse blog já me trouxe muita coisa legal e não pretendo parar de publicar assim de uma hora para outra. Até a próxima…