You should not stick your head in the oven.  There are a number of reasons:

  1. Gas oven
    1. If the gas is on, but the pilot light is out, you could asphyxiate and die
    2. If the gas is on, and the pilot light is on, the oven will be hot.  You could be badly burned, and breath in heated air which will damage your lungs, and you could die
  2. Electric oven
    1. If the oven is on, the oven will be hot.  You could be badly burned, and breath in heated air which will damage your lungs, and you could die
  3. In general
    1. If you stick your head in an oven that is on you will be badly hurt
    2. Ovens tend to be dirty.  You will get dirty.
      1. If you have long hair, it will get dirty and that’ll be a real mess.
        1. If you are a man with long hair right now, you are recognized by pretty much everybody around you as somebody who is stuck in 1987.  I’m not saying this is a bad thing, just that if you choose to have your hair cut every other political administration, you’ll stand out in a crowd

When you come right down to it, there just isn’t a really good reason to put your head in an oven.  I know they need to be cleaned from time to time, and you have to reach in to get the back, but really you don’t have to put your head in, you can just reach your arm out.

I never had to be told not to stick my head in the oven, I managed to figure it out on my own.  I’m not sure at what age I had this revelation, but I’m sure it was early (to be fair, my mother may actually have mentioned it at some point, but I’m confident I would have figured it out).

Here are some other things I learned:

  1. Initialize variables
    1. When you declare a variable, it takes an extra few seconds to initialize it.  Always do this.  If you don’t, you will just find yourself going “I should have initialized that” when you fix a bug related to it not being initialized later
      1. Uninitialized variables are a pain to track down
    2. Static variables in C are guaranteed to be set to 0 at startup.
      1. Initialize them anyway.  It makes the code more clear and saves you the let down when you think you found an uninitialzed variable problem before you remember that they will be initialized to 0 at startup.
  2. Check in code
    1. While it is really unpopular to check in code that might break a build, and you might be ridiculed by your peers for it, it will be much more uncomfortable to explain that you lost a week of work because your hard drive crashed.
    2. Sometimes you lose stuff.  Code that was not checked in is no exception.  Not in my case at least. 
    3. Hard drives crash (see 2.1).

Most of these lessons somebody did tell me somewhere along the line.  But I find that a lot of the smaller lessons in life I have to learn the hard way (sometimes more than once).  Of course some of those lessons should be as obvious as not sticking your head in the oven.

I am going to go continue to work on a feature for SlickEdit 2008.  While I am working on it, I will try to remember not to stick my head in the oven.