5/25/2005

Well, it seems that my stupid questions and bad starts have actually been useful.

In learning all the right ways to write patches for the Wine project, I got corrected a lot by the various developers. This is a much better situation to be in than the dreadful dead-air you can sometimes find on other development mailing lists where the more experienced project members just ignore questions and don’t bother to critique patch submissions. That case is so much more frustrating.

On the Wine devel list, there was never a shortage of people trying to show me how to make my patches better. It took me several weeks to get a large chunk of code into the project, but in the end, it was well documented, had a test suite, used the correct debug channels, handled memory management correctly, and generally did everything the right way. On top of that success was the fact that the Wine Wiki FAQ, which is studiously kept up to date, ended up recording a lot of my questions (or more importantly, their answers). You’ll find a lot of “K. Cook” in the Coding Hints section now.

While there may be no such thing as a stupid question, they’re clearly newbie questions if everything you ask ends up in the FAQ. :) Hopefully my bumbling will be useful to other folks in the future.

5/12/2005

On my way to work
Today the odometer in my car rolled across 223344. That was pretty cool.

RSS for kernel.org
I was bothered that I couldn’t add the kernel.org list of latest Linux kernel versions to my RSS aggregator, so I modified the detection scripts to spit out an RSS feed. Whee!

Bug fixes
I got a small patch against mp3cd yesterday. So I took the moment to release a “stable” version, since I’ve been using the “devel” branch for about 6 months now. That sounds pretty stable to me. :)

5/6/2005

I am so excited! I’m going to be a speaker at OSCon this year. I’ve never been a speaker anywhere! I’m gonna be so nervous it’s insane. I really hope it all goes well, but I still think it’s intimidating to be surrounded by so many experts in so many fields. I know I have a lot of email/spam/filtering experience (and a little Python), but there are plenty of other people who have more. I just happen to be talking about it. I hope they don’t beat me up during my talks. :) If I teach one thing to one person, I’ll see it as a success. I’d suspect I’m going to learn a lot too. “Why didn’t you do it this way?” “Uh, because I didn’t think of it! Thanks!”

5/3/2005

As if a blog itself wasn’t enough shameless self-promotion, I’ve just gotta share more! There’s a nice write up at Kernel Trap on how the kernel.org servers work. I’m mentioned in there since I’m one of the guys that helps keep the machine running. Mostly I manage the mirror server validations. I’m the guy that bugs the other mirror admins about falling behind, etc. The real work is done by HPA and Nathan. They’ve got some great gear in place now. I can’t wait until the next Fedora Core release; it really drives the machines hard. I think it’s great to log into a fairly responsive machine, and see a load average over 200. And then realize that that’s normal. I love it!

5/2/2005

I’ve just published srcfilter. It runs under Wine, which is the only reason I kept working on it. Coding in the Windows style has this sickening allure, like an overly sweet smell. I know I don’t want it, but it seems so tasty. (Oh, DWORD, how I hate thee. All your instance names start with “dw”.)

Anyway, srcfilter uses the DirectShow API to initialize a SourceFilter from a DLL you supply. It then pulls a specified source file through the DLL, writing the output to a file. Similiar things can be done with the GraphEdit tool that comes with the DirectX SDK. If you wanted to set up a Graph that uses a SourceFilter to read a file and a Dump sink to write output, you can use srcfilter to do the same thing. And you wouldn’t need Windows to do it.