Older blog entries for ahosey (starting at number 12)

Well I know
we're dying
and there's no sign
of a parachute
We scream in
cathedrals
Why can't it
be beautiful?
Why does there
gotta be a sacrifice?

I was browsing the diary entries and I was struck by how many people are either preparing to quit their job, wanting to quit their job, or just starting a new job. (i.e. they recently did quit a job.) Everyone agrees computer/tech workers tend to change jobs relatively often. (Relative to, say, the newspaper industry.) Why is that?

I think it's because we're all perfectionists. In order to be good at this work, you have to be very precise about it, and very thorough. Nevermind how tidy your workspace is, or your personal grooming - I'm talking about the end results of your actual work. To get good results, you must be incredibly crush-a-diamond-in-your-sphincter anal retentive.

So the problem comes when you have all these perfectionists who have to also put up with the "bullshit quotient" which is always present, in some degree, in every workplace. Day in and day out you have to bear witness to some flaw in the business process, or in someone else's department, and you know that somewhere up the line, it's ultimately affecting your work too, and that's not acceptable because you've been conditioned by years of writing software to believe your work needs to be perfect. You're dying to see this flaw get fixed, and no matter who you complain to or what you try to do, it doesn't get fixed. And of course it's not just one flaw, it's five, or ten, or fifty, depending on the bullshit quotient at your particular job. So after two or three years of bearing witness to all these flaws, you can't take it anymore and you find a new job. You know it's going to have flaws, but you figure this time they won't be so bad. This time you'll be able to bear it. And it all starts again.

Or maybe my view is just biased by my own workplace.

There must have been some large ripple in the trust web, because everybody's talking about it now. Like everyone else, I have an opinion about the trust web, and this is it:

What I seem to be noticing is that 3 or 4 Apprentices who know each other in some way will cert each other as Journeyer, either honestly or because they just want to. None of them get Journeyer out of it yet, but it creates a relationship "subnet" which, as soon as one of them gets a Journeyer cert from a qualified Journeyer outside the subnet, wham! they all get Journeyer immediately. And there's nothing stopping any of them from being in multiple subnets so the effect might ripple thru several such "relationship subnets."

Of course this may not be a bad thing if you regard the trust web in its purest form, that's how it's supposed to work, but it sure seems to contribute to "cert inflation."

I think it would be interesting, in the name of experimentation, to require two certs from senior members (nodes, whatever) in order to get a higher cert. This would certainly raise the bar for relationship subnets as described above, because it would take three certs from outside the subnet to raise the entire subnet, as opposed to one. It would also dampen the ripple effect among people who bridge subnets.

Example: Aaron, Bob, and Chuck are Apprentices who cert each other as Journeyer. Aaron then gets two external certs as Journeyer so he is now officially a Journeyer, but Bob and Chuck are not because they still need another cert in addition to Aaron's. If Bob gets an external cert then, combined with Aaron's cert, he is now a Journeyer. Aaron's and Bob's certs then automatically promote Chuck to Journeyer. The subnet is now self-sustaining to the Journeyer level, any number of their buddies can join and they have enough Journeyers to promote anyone. If Bob is also part of a second such subnet, his promotion would not by itself create a ripple effect in that subnet, it would still require another external cert.

Applying discrete math to social relationships is kind of creepy.

In other news, I put xload-snmp on freshmeat and watched the hits roll in. See, I was conducting a little experiment where for a while I only had xload-snmp mentioned on Advogato. I found that I got one or two hits consistently each time I made a diary entry, and none besides. So that provides circumstantial evidence as to what is Advogato's main communication channel. But we already knew that, right?

We bought Midtown Madness for my son last week, and now we all play it. It's a lot of fun, especially if you are at all familiar with Chicago. I'm not really into driving games, but I like tearing around downtown Chicago at 120+ mph.

Hey, what time zone is Advogato in, anyway?

My son, almost 4 years old, has developed an interest in Batman and Spiderman. He's starting to have heroes. I think that's neat. I started thinking about my childhood heroes - Batman and Spiderman being two of them - and then I started to wonder about people who for some reason maybe didn't have heroes as children. My first thought from there was those teenagers who shot up their schools. Did those kids have heroes?

See, I was exposed to violent media as a child. Lots of violent media, probably way too much violent media. That's why I don't buy the argument that video violence drives these kids. If that were true, I'd be hiding in Canada right now with a 12 body count on my record. So what made me different? Why didn't I snap?

Let's see. I was exposed to video violence, I hated high school, I thought there were plenty of people there who deserved to "be taken down a notch." But I never did it. Never even considered it. I think the difference was, I also had heroes from an early age. Even though my heroes were "action heroes" and did their own violent acts, there was always a code of conduct driving the heroes, determining when it was time for them to use violent force.

I don't really consider myself a hero, but I have always considered myself one of the good guys because I admired my heroes and wanted to emulate them. My heroes gave me a belief that even in dark times, the good guys win in the end. My heroes gave me hope.

The good guys don't inflict themselves on the innocent. Even the not-so-innocent ones that torment the hero. There was a scene cut from Star Wars where Luke's "friends" at Toshi Station were mean as shit to him. He did not blow them away. The good guys only use deadly force when the bad guys use it first. Even the heroes with a "black streak" in them, like Han Solo or Batman, still answer to a code of morality. Han Solo is a particularly good example because his moral code became stronger as the story went on, until at the end he's volunteering to sacrifice himself for something other than a profit motive.

(As an aside, I was really irritated when Star Wars Special Edition changed the film so that Greedo shot first. Even as a kid, I knew Han Solo's life was on the line and he had reason to shoot first.)

So, did those Columbine kids have heroes? I'd like to know, but I would guess they didn't. They obviously felt unhappy and tormented, and without heroes to anchor them to the good guys and give them hope, they did whatever they felt they wanted, or needed. They didn't have the tools to withstand and control the darkness inside us - yeah, all of us - and ultimately it got them.

Make sure your kids have heroes. Make sure you have heroes. Be one of the good guys.

Did you ever notice how, before Microsoft got involved with the Internet standards committees, standards were debated, then resolved and finalized. Now, they just get debated...

My "real" work is stalled, waiting for hardware from the inventory department. We were talking today about writing daily status reports on our projects. We figured mine would look like this:

"Day 12: I sat in my chair."

"Day 13: I sat in my chair."

"Day 14: I sat in my chair. Payday. I got a check for sitting in my chair."

I put xload-snmp on the web. I am the only one working on this, but I'm just making patches to the old xload source. So does that make me "lead developer" or not?

Titles, ego, and a sneaking trace of humility. What a mess!

Chris and I have started talking about making McFeely use CORBA. CORBA is becoming one of those things about which I kick myself for not using earlier. It reminds me of this one time: One of my first jobs while still in college was building an "interactive website" back when such things were still novel. We kept the user account data in text files, and it sucked, and then one day I discovered SQL...

Should these sorts of things be part of a college undergraduate education? i.e. "This is SQL, this is when you want to use SQL. This is CORBA, this is when you want to use CORBA." I've heard it both ways. One side which asserts that schools of higher learning in computer science should be teaching theory - algorithms, good program practice, discrete math, etc - things which are timeless, and things which are forward looking. Teaching specific contemporary implementations reduces your higher education to a vocational school.

On the other hand, the result of this, as far as I've seen, is many BS graduates who can do big-O analysis in their sleep but can't write SQL. Unless they took the Advanced Database course, in which case they didn't take the Operating Systems course and so they don't know what a page fault is.

Maybe there's just too much to possibly cover it all in a single undergraduate education.

I went to hear Bill Joy's keynote yesterday. It was very interesting to hear someone of his stature and experience say some things very similar to things I've been thinking. Like it's time to move to a high level language as the de facto standard if we want more reliable powerful software. (At least, higher than C. I like C a lot, but I think it's time for the general populace to move on, leave C in its appropriate niche, much like what has happened with assembler.)

There were some sour grapes in the keynote, like things about Microsoft and the failed Java standards track. True or not, I think those things would have been better left out, because now a lot of people will remember the speech and just remember "There's Bill Joy, being a bitter kook again" and his points about computer technology and its advancement, which were very valid, will tend to be forgotten.

Josh and I were talking about making higher level features more common in programming practice. (This was before the keynote, too.) We think one could take error exceptions, for example, and move them into the OS. So you could have throw() and catch() system calls, for example. This would make it easier for language designers to implement these features, and you could even have them available for free to application coders from C. The idea is to take higher level programming features and move them into lower levels of the system, make them easier for programmers to have available, and hopefully make them more ubiqutious in programming practice. You can't do this with everything (Josh convinced me you can't do a generalized garbage collector in the kernel without substantial performance loss) but you can do it with some. There are some techniques already moving in this direction (like kernel-space threads instead of user-space threads are a perfect example) but no one has tried error exceptions that I know of.

I'm at Usenix this week if anybody wants to get dinner or something.

Somehow, the Aironet card works up in my hotel room, on the 15th floor. But it doesn't work in the conference room at the far end of the conference hall. Go figure. I'm much happier now that I've discovered I don't have to run to the conference hall every time I want to send mail. On the other hand, I will probably now get less sleep this week. The two hour jump forward when I go back home is already going to kill me. I whine so much... I talked to some fellows from Sweden today who are 9 hours from home. Poor guys.

3 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!