Fri, 2009-01-02 14:51

A trait of Linux that has long gone over my head has been the fascination with compiling applications against your kernel. You don't need to do this on Windows, and I don't miss it, so why are there so many applications out there that absolutely require that you compile them before you can install them? Why is every kernel its own special snowflake? Well, over time, I've come to understand that this has to do with optimization. People build Linux kernels with specific tasks in mind. They are web servers, or graphics boxes, or digital boom boxes, or thumb-drive virtual machines. Each kernel is lovingly crafted to perform its task with all of the tools it needs, and none of the baggage it doesn't. It's a lean, mean, focused machine. That's the theory, anyway. In my experience, the optimization gained is lost in the back-wash of blazing processors and modern graphics cards. To each their own.

But it forms an architectural meme: If you know what you are trying to accomplish, you can focus in on that and make it happen.

And I'd write the entire post about that except for two things: It's been done to death and I'm not sure it's always true.

It's generally accepted that at the core of any good "system", be it philosophical, technical, or organizational, is a goal. You've got to have a point, and work to it, to actually have something toward which progress can be measured. For instance, one would be unlikely to ever lose weight, get out of debt, or finish their doctoral thesis unless they actually set out to do so.

Down in the weeds, I suppose that's all well and good, but at the macro level where everything really counts, I wonder if that's the best approach.

"To live only for some future goal is shallow. It's the sides of the mountain which sustain life, not the top. Here's where things grow." - Robert Pirsig

I've touched on this from a slightly different angle in the past , but I wonder if our goal oriented society has it all wrong. Maybe, given our imperfect knowledge of what is truly important, and who we'll need to be to meet the challenges of the future, just about any goal we might work toward might be a poor use of our efforts. Maybe our goals are the *worst* way to spend our effort.

"You can't always get what you want, but if you try, sometimes, you'll get what you need." - The Rolling Stones

I remember I girl I pined for in college. In retrospect, her main attraction may have been the challenge she presented, but at the time, I absolutely tore my heart out for her. Well, it didn't work out. Some other guy got the girl. Then I found someone else and life moved on. I ran into the former object of my desire some years later and found her to be a shallow, self-absorbed bitch, and was horrified to recall that at one point, I'd've given a kidney to spend my life with her.

I had a job a few years back that went totally south on me. The management role I was promised turned into a back-end support role when there was a change of management and my group was disbanded. I spent years building servers and fixing broken glue code. It was crap work, and I hated it, fearing that I was stunting my growth doing it. Turns out, I'd've never gotten my current job without the skills I built there.

I wanted to be an Airborne-Ranger when I was a kid. As soon as I got the chance, I joined the Army and started working on my dream. Six months later, after three aborted attempts to work through stress fractures and get past Ranger Indoctrination, I gave up. The Army dumped me off in the first open Airborne slot that popped up: Panama. It was unquestionably the best 3.5 years of my life.

One might suspect that the goals I pick for myself aren't worth a damn.

"Life is what happens while you're busy making other plans." - John Lennon

So what's my point, you might ask. Well, to be honest, I'm not exactly sure. However, if you happen to derive some valuable insight from all this, is quite possible it isn't the one I was trying to impart. And I'm cool with that.

c0c0c0