After completing the script below, I was pretty proud of myself. For non-Perl folks, the script involves attaching to a SQL database and doing IP to decimal to binary conversions. Not only did I have to pick apart the back end of McAfee’s EPO server to figure out the required SQL, but I had to figure out how to do binary to IP conversions and refresh myself on multidimensional hashes. Once it was complete, I felt like a kid who had made the greatest looking doody that he had ever seen. And like that kid, I found that there really wasn’t anyone around who would appreciate it.
Because of this strange need for validation, I even tried to explain it to #1GF! once I got home. She sort of glazed over and mumbled “Wow” and then something about how the things that I get excited about indicated a major point of contention between the two of us. I knew that I could count on the same reaction from most of my co-workers, so the next day, I took it to the guy who was explaining binary to IP conversions a few weeks before. He seemed pretty impressed, and didn’t have to do that fake “greeeaat” because he genuinely understood what I was talking about.
As 1 impressed geek is not enough, I had to call an engineer friend of mine. Once I finished my story with “…and once I figured out that the negative numbers required bit flipping the binary numbers before I broke them into octets, I was all set…”
The engineer on the other end of the phone said, “Nice. You get a binary high five.”
He then explained that a binary high five is when you hold up one finger, then none, then 1 finger. Once I realized that 101 is the binary representation for 5, I laughed solidly for a couple of minutes.
So, at least 10 people were impressed. It’s great being completely outgeeked.
For folks who want to do IP container checks in McAfee’s EPO server, enjoy the script below. For those of you that need to do binary< ->Decimal< ->IP conversions, recycle the parts you need.
Update: This post spawned discussion as to whether a proper binary high five should be executed serially as described above, or in parallel by holding up the index and ring fingers at the same time. The latter, although cooler looking, seems like something that would get a geek shot by mistake.