Tuesday, March 22, 2005

Teamwork


A lot of a coders work is solitary. [S]he sits in front of a computer and grinds away at helping a computer to do something useful, and generally tries to avoid actually interacting with people through a technique we've developed called APIs. But some days the synergies are nice.

Today was a mad dash fire drill to get a bunch of front end capacity to make sure that we can handle the traffic that we're likely to get tomorrow. (Whoo-fucking-hoo by the way). And we've got a box that wasn't performing as well as we had hoped. It was actually our prototype with a new distro, so there were a whole slew of things that are different and could be causing the performance lag.

I spend a good chunk of the day tracking down dead ends, and trying to figure out what was going on, and eventually narrowed it down to a set of events that correlated with some really bad behavior. Bryn helped me to take those events and realize that our driver for our hard disk was running without DMA enabled. Which then led to the realization that we didn't have the right SATA drivers. Which led to the problem of getting SATA to work on a 2.4 system at all. And here is where Bob found a kernel patch which finally took care of the issue, and now we just need to cross our fingers and hope it's stable.

But it was a good feeling to have that rush of everyone in the room putting in the effort to make it work.


Linux Rant

So ignore this if you want, I'm about to get even geekier...

What the hell is Linus thinking? He's totalling driving linux into the ground right now. What are you supposed to do when there is no separation of development and stable kernels (which means that every new kernel is buggy and prone to some rather terrible failures), and the only thing to work with that's stable is hopelessly out of date with current drivers.

The 2.6 series is a joke for stability. We've had so many problems it's insane. And I don't want to hear about the 2.6.even vs. 2.6.odd. That's one of the stupidist conventions I've ever heard of. And when you're implementing new features that some routers don't support all that well, how about you make sure that it's off by default. This is becoming more and more of a problem with the linux-verse these days as coders start overly re-engineering on the 'it'll be better this way. trust me' philosophy. I laugh at it when I watch Monk, and I think I'm going to start laughing at it from engineers as well.

And as for the 2.4 series, well it is stable. But it's not moving anywhere. Drivers aren't being back-ported (why should they, it's not the development version. everyone should be on the cutting edge). I want some damn support for hardware that's been out for a couple of years and is well documented. Surely someone in the open source community isn't thinking about the version 0.8, cool, edgy kill-of-the-mountain code, and actually gives a damn about writing code that works.

I swear, it's almost enough to make me use a Microsoft operating system. Come to think of it, my XP box has given me fewer problems than the 2.6 kernel has.


No comments: