Friday, August 8, 2008

Eight Eight Eight

At least for a few more hours, it's August 8, 2008, or 8/8/8. I'm not sure why, but I always find these dates to be interesting, and we only have a few more left to experience in my lifetime. I also find it neat to see my car's odometer when it reaches 12345 and 123456.

I realize that I've been quiet for a while. Part of the reason for the silence is that I'm finding that all my entries here are just complaints and rants. This is not an entirely accurate reflection of who I am, but it seems that when I'm sitting here ready to type it's because I'm too pissed off to do anything else. So while I have had several things that have, indeed, been annoying, I thought better than to dump that upon everyone else. Speaking of being pissed off, I was told by a coworker about 22 years ago that it is better to be pissed off than to be pissed on.


I have been in the middle of several interesting projects at work.

The first has been to implement an improved VPN (virtual private network) system. A VPN is essentially a way to allow someone to establish an encrypted network link to somewhere through an insecure medium, such as the Internet. In the case of work, the VPN allows someone at home or on travel to securely have their computer connected to the network at work as though they were at the office. We had been using an older version of Cisco's VPN hardware and software (for the last 7 years or so). The new VPN hardware is able to support the existing software plus new VPN software that is faster (especially over satellite Internet links) and more compatible with firewalls and hotel networks. Over the past couple of weeks I have been installing and testing everything, and last week I put the new hardware in place with only a few minor (and easily fixed) issues. Most people don't even know anything happened...but the groundwork is in place for the upgrade to happen. During the testing phase, someone found a bug in the new VPN client software for the Mac. So this project is kind of on temporary hold now until I can get Cisco to provide us with a software fix.

The other project has been improvements to the phone system software to allow a real management interface to be written. Over the past 3 years, I basically took the Asterisk Open Source PBX, did some major customization, and deployed it to our facility (over 800 phones). To do things as simple as add and remove phones, or manage the overall system, it is necessary to know enough about a database language called SQL and modify a database directly, as well as change certain system files and run esoteric commands on the Asterisk phone system software. Doing something like a web-based interface has been delayed because fiddling with system files and running esoteric commands is problematic at best when you're working in a web-based interface. I wanted to remove that kind of activity from any management software and contain all the weird stuff invisibly behind the scenes. I have been trying to come up with an elegant way of doing this and just thinking about it made me frustrated and I'd usually fall asleep. So while talking to a coworker, I realized that one of the simplest, seemingly inefficient ways to do this was the best and most reliable way. In short, what will happen now is that everything will be controlled using the SQL language by the management applications. A feature of the database software (MySQL) called "triggers" will be coded to identify when the weird operations need to happen, and place these events in a list (a table in database parlance). A little program will sit watching this list (table) of weird operations once every second, and if something appears it will go ahead and do it. In effect it's a to-do list of weird things that gets created automatically when someone does something that isn't weird that has a weird side-effect. The little program watching the table every second is the inefficient part, but in retrospect database servers are designed to handle thousands of transactions per second. Certainly one more transaction per second won't hurt anything. So I have the framework for this done, and am starting to work on converting all the weird stuff I did manually to a computer program. Stay tuned.

I think it's neat that I basically got to design a phone system rather than just go out and buy one. We've already reaped the benefits of this several times. My only regret is that there are parts I would like to release to the public and get peer-reviewed, but the management at work is dragging their feet on approving the release (even though we're a University research laboratory). What I've done is pretty unique for an open source project.


There have been a couple of ups and downs in this department. I have to exercise discretion on the details to avoid some potential embarrassments.

One person I have known for about a year, and there seemed to be some interest. As I got to know her better as a friend, I realized that my original assessment that she and I would be better stopping at being friends was correct. I have a very high opinion of this person yet, she's a great gal. I just feel that while we get along great and have some unique things in common, her goals and mine are somewhat in conflict and getting too close will end up with a pair of hurt feelings down the road.

There's another person who I've known for over 10 years at work and she and I, for lack of a better description, keep bumping into each other occasionally. I have this completely irrational euphoria every time she laughs or says something when I'm in earshot. We get along fine, but haven't done much else recently than get together for lunch. Her schedule is kind of full, with lots of travel at odd times, and I don't know if we really have lots of compatible interests. We met for lunch the other day (one of those bumping into each other situations) and it was a great lunch. I'm not sure that anything will happen here that hasn't already happened in the last 10 years.

Finally, you all may recall that I mentioned being on Seriously my interest in okcupid is really just for the cool tests and stuff. Out of the blue someone looked at my profile, and when I looked at her's, I practically fell on the floor. While we had some different interests and some the same, our writing styles and personalities were amazingly similar. So I wrote, and she wrote back with a quite lengthy and humorous response. I don't if this will go anywhere at all, but this situation came right out of nowhere. If nothing else, I'd like to meet her in person at one point if things keep going like this.

With all this said I'm going to say that I'm still taking a more pragmatic approach to this whole romance thing. While I'd like a romantic partner I don't like what it looks like one needs to do to get there. As I've said too many times recently, "I'm getting too old for this."


I discovered a small loophole in a popular Internet "radio station" type site that allows the songs to be kept after they're done being played. Since I like a lot of old music there are a lot of songs that are played that would be difficult to get (or I have on vinyl already), my guilty feelings about this are offset by the fact that this music has long since earned its royalties. So I discovered a few really great songs from the 1960s that I just can't get out of my head...and are quickly becoming the "theme songs" for this time period. They are:
  • "He Did It" - The Ronettes
  • "Will You Be My Love" - The Four J's
  • "Kingdom of Love" - Pam & The Cliftonaires
  • "It's Going To Be Alright" - The Decoys
  • "Look Out Here Comes Tomorrow" - The Monkees
Just for the record (no pun intended) for the RIAA folks: Before you decide to sue my ass off, understand that there is a very good chance that these downloads will result in me actually buying CDs. It pisses me off that I have to even say this -- remember the days when we'd sit listening to the radio with a cassette recorder next to us and there was never any fear of someone coming and suing our asses into oblivion. Geez.

Fun & Games

A couple of weeks ago Mary suggested getting together to play Rummikub which I haven't played in at least 15 years (probably more like 20). I thought that was a heck of a coincidence because I had been trying to find people to play that game with me for about a year now. We had a great time and I remember now why I enjoyed it way back when. I got Mike, Annette, and Tristin to play a few days later and I believe we've accepted it into our repertoire of games now.

I also got to play this Mexican Dominoes game as well, which was fun, and a card game with words and the object is to arrange the words into a silly but grammatically-correct headline.

Nothing much has been on TV lately. Worthy of note is the new Gong Show with Dave Attell. It's the same silly and sometimes tasteless humor that was the trademark of the show when Chuck Barris created it in the '70s. I hope it stays around this time - even with the YouTube generation, I think there is still a place for shows like The Gong Show.

...and with that, I conclude this evening's blog entry just short of midnight, 8/8/8.


Tanveer Iqbal said...

In a world in which computer networks are involved in nearly every facet of business and personal life, it is paramount that each of us understand the basic features, operations and limitations of different types of computer networks.

cpu said...

Yes, this is all true.

I did look briefly at your blog, and while interesting, I'd like to point out a minor mistake. In your explanation of NAT, understand that NAT is really not a fundamental part of tunneling protocols. NAT is, plain and simply, translating one IP address for another. Many people mistakenly consider NAT a security feature. NAT may provide some security-by-obscurity, but its function is only to translate IP addressing (generally to help extend IP address space).

Technically speaking, a NAT is a one-for-one mapping of IP address space, while PAT (port address translation) along with NAT is a many-to-one mapping.

Tunneling is an entirely separate technology, and that is the basis for VPN. Interestingly, an enterprise can use non-private IP address space and still have tunneling and use encryption technologies to protect that tunnel. VPN, in its strictest sense, would imply that the addressing on the public network isn't the same as the addressing on the private (enterprise) side. However, in common discussion, VPN is usually a synonym for an encrypted tunnel of any kind.

On a related note, I find it very frustrating, at times, that people use computer networks without understanding many of the fundamental principles first. I'm not sure they need to understand the difference between TCP/IP and UDP/IP. A basic understanding of how the bits get from one place to another would definitely help people to understand why personal firewalls and virus protection software is necessary. It would also go a long way toward making people more responsible network users. Your comment definitely rings true to that feeling.