November 2003 Archives
I went to see the Bears play Arizona this afternoon at the new Soldier Field. Surprisingly, the Bears romped the Cards 28-3. The biggest surprise, though, was that I sat next to Gary Fencik! I didn't even recognize him at first, until someone pointed him out. I didn't talk to him at all, and most everyone just left him alone. He was with his son. Only one guy came up and asked for his picture to be taken. I did do a bit of eavsedropping, however. He said that "our kicking blows", after Edinger missed his second short field goal. And he got one of the trivia questions they show up on the screen wrong. The question was, what year did the Bears have the most sacks, '83-'86. He said '86, but it was really 1984.
I saw The Matrix: Revolutions last week. Initially I didn't like Reloaded, but after re-watching a few of the scenes, I thought the third one had some potential. Again, I am initiallly disappointed with this one, more so than even the second one. Perhaps, it will grow on me. I still think the first one is a great movie, even though I don't like the messianic plot. I found a couple good essays on M2 and M3. They explain many religious and mythological references I did not catch. I'm still digesting the whole thing.
Mac OS X still amazes me. It gives me an awesome desktop environment with a Unix core. Most of the time OS X is well behaved with standard protocols, in part due to its Unix core. However, I discovered one badly behaved OS X daemon called lookupd and wanted to warn others. lookupd does lots of things. One of them is caching host names and IP addresses. On paper, this sounds great. It'll reduce DNS overhead and could even increase responsiveness. Unfortunately, it doesn't work when an IP address actually changes. You see, the DNS protocol has built in support for dealing with distributed caches. Unfortunately, Apple decided to ignore this and caches the IP address forever, ignoring the server-assigned time to live (TTL). The symptom is a server name that keeps getting resolved to an old address, even after all DNS servers report a newer addres. It'll never expire until lookupd gets restarted. Apparently, Apple even has a program to do this, and it worked like a charm. Too bad all Apple had to do was keep track of the TTL, and restarting lookupd would be unnecessary.
Ok, if you're reading this, the new server is online and chugging. I was colocating a machine at Host Plus, but the main hard drive blew out. After debating on whether to get a new drive or upgrade the whole machine, I decided to go with a dedicated server at Server Matrix. The main benefit being that I am not responsible for the hardware. If the disk goes bad, I call 'em up and they replace it. Of course, backups are my own responsibility. But with the terabyte of bandwidth per month, I can afford to backup remotely. Oh, and did I mention that it's nearly half the price of my colocation? And the disk is 4 times bigger. And the processor is 4 times faster. Pretty sweat deal all around.
So far I'm impressed with Server Matrix. My only word of advice is to watch how they partition the drive. By default, they give you /boot and a 40 gig /. If you want something different, be sure to tell them in the install instructions. Otherwise, it costs $75 to re-install the OS. Too bad they don't tell you what the default partition is before hand. They give you a fairly minimal Red Hat 9 install. RH 9 has pissed me off, but I'll leave that for another time.
I've decomissioned Meigs, my AirPort base station. This ends my 4 month experiment to use wireless ethernet around my condo, instead of running wire, even for my desktop machines. Unfortunately, WiFi was just too unreliable for me. It would bounce up and down, and sometimes stay down for long stretches. I think this is due to the nature of living in a mid-rise and interference with other 2.4 GHz devices. Since I couldn't go around to all my neighbors and tell them not to use conflicting devices, I just gave up on WiFi and ran Cat-6 to all the rooms. Not only will this mean more reliable, more secure, and faster connections, I am also ready for gigabit ethernet once that starts rolling out. I am a little disappointed, though, that WiFi just isn't quite there yet.
I've updated the RSS feeds to the templates from feedvalidator.org. I tweaked them to add a "Continue..." hyperlink at the bottom of extended entries. Both RSS 1.0 and 2.0 feeds should contain full posts (minus the extended entry). I've also put my MT templates into CVS, so I don't have to worry as much about changing them.
Remeber Saigon Kick? Most people never heard of 'em in the first place, which is really too bad. Their self titled debut is one of the best rock albums I own. The styles vary from punk ("What Do You Do") to metal ("New World") to Beatles-esque ("My Life") to pop ("Colors"). Oh, and there's even a kazoo solo that works in "My Life". How cool is that? I'd have to say that over 3/4 of this album is just awesome. Their second, The Lizard, is not quite as good. "Love is On The Way" made it's way onto MTV, and I think that's how I originally heard about this band. A handful of the songs are also decent. But, man, their debut is just awesome.
- iPod worthy, adj.
- Music that deserves to be ripped to my iPod.
- A gratuitous Seinfeld reference.
Even though I could probably fit my whole CD collection on my iPod, I still feel that there are some that are just not worth hard drive space.
Just read some of the sample pages from the The Presidential (Mis)Speak 2004 Desk Calendar. My gut hurts. The eleventh sample page:
"My trip to Asia begins here in Japan for an important reason. It begins here because for a century-and-a-half now, America and Japan have formed one of the great and enduring alliances of modern times. From that alliance has come an era of peace in the Pacific."
George W. Bush
February 18, 2002
A century-and-a-half of peace, interrupted by World War II. Speaking in Tokyo.
Take the following Java code fragment:
List widgets = ...; PrintWriter writer = ...; WidgetFormatter formatter = new WidgetFormatter(); formatter.formatWidgets(widgets, writer, true);
Given no more context than this, it is fairly easy for anyone to look at this bit of code and determine that a collection of widgets is being formatted to a textual output source. However, it's hard to determine that the true parameter means to recursively format elements. I find this is often the case with boolean parameters nestled in a long parameter list.
