Tech: June 2007 Archives

My MacBook Pro desperately needs to get wiped. Unfortunately, the motorcycle accident did do some damage, as I can't get the DVD drive to work. I could just hook up an external USB CDROM drive that I've got, but I've had limited success with it when installing FreeBSD on a desktop. I don't really want it to crap out halfway through the installation and leave me without a working laptop.

Do any of y'all (y'all referring to local bay area friends, of course) run OSX Server? I could install over the network if I had access to a computer running OSX Server. That would be fantastic.

You know how to find me.

This is highly unlike anything I usually write, and it's going to sound preachy, even cheesy, but bear with me.

Today, I was talking to a few friends in a NetBSD chat forum. A few of the guys were discussing their respective careers, until I became a bit indignant when one wrote "I've learned that using my voice is the path to destruction... being a yes-man is the way to go."

This is not what IT is all about. You may think I'm wrong; maybe I'm just an idealist. I still think that IT is about breaking all the rules. If you're just another yes-man, you'll never do anything innovative. You'll never get your own Wikipedia entry. I wonder if you'll ever even really be satisfied with your own life.

There's a fair number of people in IT that did what they were told all of their lives. They got straight A's in high school, went to Ivy league colleges, got their CS degrees, and continued on to get good, well-paying jobs in corporate America. A lot of these are yes-men. However, when it comes to innovation, these people fall into the minority.

So many of us have never fit into that mold. When we were younger, we didn't play sports. We didn't have many friends. We were told that we had to get good grades in school so we could go on to a good college and get a good career. All hail, society. We ignored this. We spent most of our time on our computers. Our parents didn't understand what we were working towards. We probably didn't really have much a plan either, but we were driven to do more - to learn more than we felt our schools could teach us. We were truly a unique generation. We broke the mold and still succeeded. You could get the good job, have a career more lucrative than anyone ever could have dreamed for you, but break all the rules doing it.

Maybe you got kicked out of high school, or perhaps you just got bored and dropped out. You were probably in Honors/AP classes, but you were flunking out of all of them because you spent all of your time programming or messing around on your computer instead of doing your homework. College? Doubtful. Maybe you got your GED. Maybe you even tried a community college for a while, but our generation was lucky enough to be able to hop onto the dot com bubble before it burst. You didn't need formal education to get a job, you just needed the knowledge to do the job. High school didn't prepare you for this, but all those hours you spent late at night in the dark on your computer certainly did. You probably made more at your first job than your parents currently do combined. You won.

So what's up with this "yes-man" ideal? What happened to breaking the rules? Let's face it: providing that you have the skill, they need you more than you need them. Why become a yes-man when you became what you are now by telling so many people no when you were younger? Why are you so scared?

I mean, look at corporate dress code. The majority of us go to work in t-shirts and jeans. There's a few companies that require business casual in their IT department, but these are the exception to the rule. Think about your parents and how their work environment was when you were growing up. People working skilled jobs such as these had to wear collared shirts, sometimes even suits. You could not get paid as much as we do without making a concession when it came to your wardrobe. We changed this. Our generation changed so many expectations when it came to the work environment, this being one of the most minor examples. It's rare to find an IT company that doesn't have a game room, or at least a foosball table. Do you think people really had that kind of luxury 20 years ago? 15 years ago? Do you think if we had just rolled over and said yes that we would have these luxuries?

We have more responsibilities now than we did when we were younger. We have so much more to lose. We have families. We have a 401(k). Don't lose yourself, though. Remember how you got to where you are. Be proud of breaking the rules. Becoming a yes-man isn't about growing up. It's about giving up.

static int getWindowColor( Display *display, XColor *color, int x, int y )
{
   Window target_window;
   XImage *ximage;
   int rev;

   XGetInputFocus( display, &target_window, &rev );

   if (target_window == (Window) NULL) {
      printf( "target window is null\n" );
      return(0);
   }

   ximage = XGetImage( display, target_window, x, y, 1, 1, AllPlanes, ZPixmap);
   if ( ximage == (XImage *) NULL ) {
      printf( "ximage is null\n" );
      return(0);
   }

   color->pixel = XGetPixel( ximage, 0, 0 );
   XDestroyImage( ximage );

   return(1);
}

The point behind that function is (more or less) to get information about a pixel at a given x,y coordinates relative to the window containing the current focus.

This is not what I want.

I want to select the window on top, not the window that has focus. Is there a way to do this? I don't want to give that window focus first.