If you've been browsing this blog between 11:00 pm yesturday to around 1:30 am today (Eastern time that is) then you probably noticed a bunch of duplicate entries. This was caused by a bug in the new feature I added today (okay, technically yesturday).
What happened is that the program would add the entry, and notify Weblog.com and it was in the cleanup code of that feature (after it had already sent the notification to Weblog.com) that it would crash. This caused the mail server (since I use email to update this journal) to think the message had not been delivered and therefore queue it up for delivery later.
And basically, every entry made since this new feature was in was still in the queue trying to be delivered successfully.
So much for my programming prowess.
The code (C—I program mostly in C) in question was:
int UrlFree(URL *); /* ... */ URLHTTP url; /* ... */ UrlFree((URL *)url);
UrlFree() takes a pointer to a URL and here I was passing in the URL directly, but because of the cast (since URLHTTP is based off the URL datatype but due to the lack of actual objects in C, I have to cast) the compiler let it slide.
And please, no “Why didn't you use Java?” or “Why not C++?” or even “What? You didn't use Perl?” I freely admit to being a C bigot and I like my language to remain standard, unlike C++ (which until what? Only last year got a standard?) or Java (what classes did Sun change this week?) or even Perl (Perl 6 is just around the corner, and it's nothing at all like Perl 5 … heh heh heh). I have better things to do (like chase bugs it seems) than to run after ever shifting languages.
Besides, is there anyone else that talks about bugs in their software?
roommate works at night as a system administrator) showed that traffic to Condo Conner was not getting past a router in Miami.
Fast foward to noon today. Can't traceroute to my colocated server. Can't ping it. Yet Spring can get her mail. Uh oh. A quick telnet to port 80 and yes, I can bring up a web page.
Poking around I'm seeing major network problems with my provider. Inside, I can ping some sites, other's I can't. Some sites I can traceroute to, others I can't. One moment I can ping but can't telnet. Then I can telnet. From outside again, it's hit or miss if I can ping or traceroute back to Condo Conner.
Most things are working and that's what makes this more annoying that if it was all down. I'll be going along and wham! can't get there.
Mark that last night around 3:00 am that the DSL provider is upgrading the software on their equipment at the same time that the local phone company (no names but its initials are BellSouth) is upgrading the software on their equipment and well for the past 17 hours the Internet connectivity has gone to Hell.
Nice job, guys. Ever hear of rollbacks?
Okay, okay, cheap shot, but man, we're jonsing for Internet connectivity here. It's been bad all day … can't get to a site … can't get to a site … can't get to a—wait! We got a page! Woo hoo! Click on a link and … can't get to the site.
Trying to log in to a remote server is just as fun. Nope—that box is refusing ssh connections. Still refusing. Is it … yes! It connected! I'm logged in and … the connection is frozen.
Good news though: we have a dial up account (good thing I hadn't gotten around to getting rid of the second phone line). Bad news: the number is busy.
Okay, things could be worse and for that I'm grateful.