Monday, October 17, 2005

A new strategy

Well, it seems that trying to use the DDK samples is more painful than just learning the API calls, so my next step is to dive into the wonderful world of driver development from scratch, something I feel FAR more comfortable in doing. Microsoft should learn to put more meaningful comments into their code, instead of comments which state the obvious.

For example:

// BUGBUG set this to number of miniports
#define MAX_MINIPORTS 3 // Number of maximum miniports.

Now, I don't claim to be the worlds biggest genius, but I think I figured out that MAX_MINIPORTS should be set to the maximum number of miniports. Maybe explaining WHAT the "3" miniports are would have been FAR more useful, but then again, maybe the author doesn't know either.

Sunday, October 16, 2005

Kernel Streaming Drivers

Microsoft should run for government. The Windows Driver Development Kit contains a full help system, going into great details about developing Windows Driver, including the Kernel Streaming system. From a documentation standpoint, this information is highly accurate, detailing precisely what each function may do, giving specific details to how the system might behave, and clearing discussing how you might want to do things. Or not. It's got a lot of useful information, don't get me wrong. But between the documentation they include for their samples "Use the build command to build these samples" and the extensive lack of information about where the drivers you may be developing actually FIT into their diagrams, they hand over a large stack of unhelpful information. I'm left with the visual of the man in the hot air balloon who gets lost, lands, and a farmer is there. The pilot asks the farmer where he is, and the farmer replies "In the middle of a field of crops." Although the information is 100% perfectly accurate, it bears little actually assistance to the pilot. They need to move some of their publications team from the PlatformSDK team to the WinDDK team. The PlatformSDK is actually rather well documented.

Tuesday, October 11, 2005

Development Practices

TDD, Extreme, CI, Buddy-builds... What's up with all the methods and "design patterns"? Do I wanna "refactor" my code? No, I'd rather write it correctly the first time, thanks. For an industry which got this far without all these methods, you'd think we couldn't get "Hello World" done right without a 12-person development team, test engineers, a release manager, a build team... Hello? Is this design by committee? So I'm switching to a new method. It's got the acronym, it's got the industry backing, everyone who's actually USED a compiler has used it...

STT Development. Shit Thrown Together.

Works for me.

Monday, October 10, 2005

New-fangled technologies

Ok, so I'll give this new-fangled "blogging" a try. I know, as a software nerd, I should be all over this kinda crap. But I'm not. It's too "high-level hoity-toity" for my taste. If it doesn't run in ring 0, it's probably not worth working on. Unfortunately, it's too early in the morning for me to think up any good rants, and even if I did, a cat is currently determined I'm not gonna type peacefully on the laptop.

Since this is my first blog entry, I'll give you an idea of who I am in regards to a "software nerd" and you can make the call. My PC is upstairs, running 64-bit Windows. I'm working on a laptop in bed. From my bedroom, I can hear the two servers running under a table in the other room. One is a virtual server, so it runs 6 different machines. The other is a simple file server. When buying a house, one of the requirements was a location which supported high-speed internet. Most people worry about other things, like the roof not leaking (this one doesn't), or the walls still standning (which they do). Me? Gotta have that high-speed internet. I'll take a cardboard box, if it's got high-speed internet. Is there life without the internet? I somehow doubt it.

Visual of the day: Me, cheese-wizz, and a g-string. Hey, blame my cow-orkers, they thought it up. I'd rather not even picture MYSELF in a g-string. And cheese-wizz is kinda nasty. Easy Cheese, that's different...