Archive for April, 2007

Who says it’d be easy?

Monday, April 9th, 2007

That’s it boys and girls; time seems to become increasingly scarce. The intermediate exam period of my fourth year in Computer Engineering makes time disappear. As it wasn’t enough, I still insisted on taking some extra work to do at home. What could I do? Someone has to do the dirty work. As some of you have already known, in my university exam period, my posts were very poor and I have even commented on things that do not have much (or almost nothing) to do with driver development for Windows, just like my last Off Topic post. The funny thing is that this post which talks about my adventures programming a HP 50G calculator is one of the most visited pages of this blog. What it is not surprising. Tell me, how many Brazilians do you know who program drivers for Windows? If you could use all the fingers of one hand, congratulations; introduce me to some of your friends. I have worked with this for years and I can barely fill one hand up (counting the people who no longer work with this).

In this post, I will bring a preview about what is coming around for future posts. My exam week will end next Friday, and after that, I imagine myself being able to breathe a little and also being able of torment your lives with this issue that nobody cares about.

But hardware that matters…

From the posts written so far, I still did not tell anything about writing drivers that actually do some manipulation with hardware. That’s right, interruptions, port I/O and so on. Even that Brazil is not a such big hardware producer. In companies that I have worked so far, only during the first one I had to control hardware that maintained data collector network. Among the remaining companies, I used only Kernel Mode privileges to complement some security solution. File System filters for access control, network filters, native APIs hooks, keyboard and mouse filters, disc filters, real-time encryption and blah blah blah… And about hardware? Perhaps the biggest obstacle on developing a device driver is the need to actually have a hardware to control. For those who are unaware, OSR sells training kits addressing to this need. These kits bring boards, circuits, wires, cables, chips … Uhuuu! Finally, hardware. For those who are interested in it, take a look at OSR Online Store at Hardware Learning session that will initially offer two kits. Well, at least, had offered. While I have being writing this post, one of the kits were being removed from the site. One kit is a PCI card with Digital I/O and the other is a USB card. Last week, finally the training kits that I have ordered has arrived and based on them, I have intended to build some basic examples to share with you.

Drivers for Windows course at Sao Paulo

The main objective of these training kits is to provide a practical example in an introductory course about Kernel Mode development for Windows at a university here in Sao Paulo. Last month, I was invited by the university to teach a course on this subject, so little explored in Brazil (I have not found another dedicated site about driver development for Windows in Portuguese). The course has still been prepared and there not a starting date. Beyond what’s been expected from such a kind of course that is usually a course  in which a talkative person is supported by tons of PPTs, I intend to provide a relevant differential in this course. I want to give the opportunity for pupils learning enough to be able to develop their own driver, which will control a real board. You know, a course with so much content without the practical part would be like learning about nuclear physics, where we see tons of theory and sometimes we cannot imagine how that would be applied in real life. The examples and PPTs that are created for the course will be available here. Obviously there will be situations and questions that will deserve interesting posts here.

File System Training at OSR

And speaking about courses, that’s my turn as arrived. This Saturday, April 14th, I’ll be going to Boston to attend the File System Development for Windows seminar at OSR. There will be four days with tons of theory on the subject. I intend to give an overview about how the training is organized and how the content rhythm is presented. After all, this subject is not that easy.

Computer Engineering

That last but not least, it is the influence of what I’ve been seeing at the university reflected here. I have mentioned this issue to friends and I see that is inevitable. The study of VHDL, microelectronics, microcontrollers and processors will end up manifested here in the form of Off-Topic posts. Perhaps the issue is not completely off-topic, since low-level software is a matter that is closely tied to hardware. Anyway, I promise to control myself.

Well, after so much, I think it’s easier for you to understand my lack of time being present here. But don’t worry DDK disciples; this blog has brought me so much cool things and I do not intend to stop publishing them suddenly. See you next time…