Wednesday, August 31, 2005

Katrina's effect on Brookhaven, MS

I live in a small town called Brookhaven (mapquest link). This town is about 130 miles north of New Orleans.

Interstate 55 which was part of the hurricane evacuation route was north-bound on both lanes until it reached Brookhaven. People have flooded into Brookhaven, seeking shelter from Katrina.

Brookhaven received approximately 70+ mph winds. This is a gross estimation, I can't say with any certainty how fast or slow the winds were going.

What I can say is that we lost about 8 big oak trees in our front yard. When oak trees fall because of bad weather, they usually just `fall over.' Imagine a big oak tree laying completely on its side. Now imagine the earth that covers the roots being perpendicular to the trunk and to the ground. You've just imagined what a fallen oak looks like. I'll post pictures tomorrow.

Strangely, we didn't lose any pines. A pine tree's root system is a `tap root' system. The root system essentially drills straight down into the earth, providing a strong anchor into the earth. When a pine falls because of weather, it almost always snaps the trunk becaues the root system is so firmly entrenched in the earth.

I'll post pictures tomorrow.

Wednesday, August 24, 2005

The spirit of the PEP

You hear a lot of people talking about the spirit of a law. It is a situation where a law is somewhat broad and requires interpretation.

Sometimes this happens in the programming world -- when it shouldn't. Yesterday I bugged a coworker into adding a feature to a console app of ours. The request was for an application to display a text status bar as it processed. It should have been along these lines:

[**** ] 45%

Asteriks give you a nice visual queue as to how complete the process is. The trailing percentage gives you an actual percentage of how much of the file has been processed. My coworker calls me today and yelps, "Eureka! I've discovered a use for generators."

A big question mark immediately floated over my head. Why would he use a generator? Generators are for yielding values. To yield the percentage of completion for our application, all he had to do was divide the number of bytes read by the number of bytes processed:

bytes_read / bytes_processed

Perturbed, I asked him how he used the generator. He responds, "I pass it the file object and it draws the status bar." I ask him if he knows what a generator should be used for. Apparently there is some confusion. I've never found a use for them myself. But, the classic example is for generating Fibonacci numbers :

def fib():
    a, b = 0, 1
    while 1:
        yield b
        a, b = b, a+b

The PEP even states that "the same kind of approach applies to many producer/consumer functions." After a bit of mental wrestling, he finally capitulated. He disclosed that he thought "it was cool" to do it that way. But really doing things the wrong way is never cool.

Gmail talk is out

Ok, google has released its own chat client. From what little bit I gleamed this morning, it uses the Jabber protocol and allows you to literally talk to other people if you have a microphone. Check it out now.

Tuesday, August 23, 2005

Tommy Lee Goes to College and I Throw Up

Reality TV. Who the hell watches this? I came home today, and clicked on the tube to check my Tivo. Before I got to my program listings, I noticed ex-porn start Tommy Lee on the tube. However, Tommy was juxtapositioned next to someone with a college logo on their shirt.

Tommy Lee and college are two things that shouldn't be mixed. Or at the very least seem as though they can't be mixed. I clicked `guide' on the Tivo remote to discover that this was yet another reality TV show.

The first thing that crossed my mind when I saw Tommy Lee in the college setting was, "I wonder what he scored on his ACT or SAT?" I don't think they ever mentioned his scores, or even if he had taken the college entrance exams. It is entirely plausible that he can't even spell ACT or SAT.

Reality, yeah I'm in college without taking any entrance exams. That's about as real as a flambouyant homosexual beating out an ex-navy seal at a Survivor type competition. Sheesh.

Humble beginnings and replacing humans

This is the first post ever from pycoder. Just like the rest of my life, it's humble in beginning, arrogant and egotistical at the end :D.

What do I do? I'm a programmer. I mostly do Python, second mostly do c/c++.

Recently one of my programming duties has been to gather statistics on our `print.' In my little universe, print is generated and sent to the mail machine to be processed. I'm responsible for the programming aspect of processing the mail and generating the print.

Generating the print is great. We use and old console program to generate our print. The thing is so old that it only accepts 8.3 filenames! But, it works quickly and overall really well.

Anyway, back to processing mail. I've discovered that management is contemplating outsourcing the handling of print. This is discouraging because I have a nice system for handling this print. Really, software comes and goes, so watching it sail away won't be too bad. However, I'm worried about the people who work in the mailroom.

I don't believe that the people in the mailroom will be fired, but God only knows where they'll be moved to. I was told to be *quite* about this project, so I can't tell anyone at work. I've befriended the mailroom people because of my involvement with the mail-machine. It's an awkward feeling knowing that your providing data that could possibly have your friends canned. Even worse is that I see them everyday and usually smile and make small-talk.