Archive of September, 2005
September 27, 2005:
A couple of my friends have recommended CarMax.com to me for when I decide to find myself a new car. Since I wasn't too interested in the Monday Night game I decided to give it a look.
I plugged in my location information and the car I was looking for -- a Honda Accord. Sorting the list on multiple columns (nice touch, even though it's fairly easy to do) I was able to find V6s with manual transmissions and low mileage. CarMax has two. In the entire country. And they're both the coupe model, which is built slightly differently in the back than the sedan model, and I like the sedan better.
On the upside the one I checked out came in about $1,000 under NADA's average retail price for that type of car. So when I finally decide to retire the old Civic it may take me a while to find what I'm looking for.
September 26, 2005:
Seems like there's a trend of retardation that I've had to deal with lately.
I paid a visit to a friend in Silver Spring Sunday evening. I left at about 10:20. With a little luck and speeds slightly in excess of the limit, I thought, I could make it home by 11.
I was a little off; I got in the door at 12:08AM. Some fucking idiot at the DOT decided it would be a brilliant idea to close three lanes of a four-lane highway for any reason other than a horrific accident.
I sat in traffic as the lanes winnowed down for more than an hour. And since there are no other ways across the Potomac without going into the District (which probably would have taken even longer from where I was, since I wouldn't have known where I was going) or heading all the way out to Route 15, I was stuck.
Now, on the off chance that someone from the DOT is reading this, and knows which coworker rides the short bus to work, after you smack that jackass in the head, point out that since you can't close the whole highway at once there's never any reason to go beyond the center lane. Four-lane road? Close two lanes at once.
Traffic will still be bad, but people like me will at least spend less time plotting your untimely demise.
September 22, 2005:
I've been trying to get in touch with someone on Nextel's cell network for more than half an hour now. I'm guessing this person is someplace where reception is bad, since I get an automated message telling me "the Nextel subscriber you are trying to reach is not available." Then it tells me to try again later and hangs up on me. Apparently Nextel has never heard of this neat new concept we like to call "voicemail."
September 19, 2005:
It's currently Thursday night, and I'm watching the Daily Show that my DVR recorded last night. They're hosting a panel format instead of the usual guest. They have a scientist, a creationist and... someone else.
This whatever-the-fuck-ist started talking about her take on how life came about in the world and it sounded like something I would have come up with if I were both drunk and stoned at the same time, while nursing a serious head injury. Even the creationist looked at her like she was just too out there to take seriously.
Maybe it's because I'd just finished a twelve-hour workday, but there was just something very funny about a god-squadder looking at someone like they were a total freak.
September 16, 2005:
I'll grant that Office 12 (which will probably be released with Longhorn) is still in development. But for all the advances Microsoft has suppoedly made in its UI with the changes from 3.1-style to 95-style to Luna to Vista, I have to say: This is about the ugliest piece of software I've ever seen.
September 15, 2005:
Now I'll grant that I'm not all that familiar with the way politics work down here. What's important to people, what the problems are with the system.
I heard a commercial for the governor's race last night. They spent the full 30 seconds talking about how their guy was going to widen I-66 inside the Beltway and improve traffic flow in northern VA.
If traffic jams are the hot topic on this year's election slate, I think a lot of people around here are in denial.
September 13, 2005:
I had a thought for an entry to write for Tuesday. Then I remembered that because of the way I wrote my admin section, the entry would appear for Monday instead of Tuesday. (Basically, I didn't anticipate having gaps in the blog.) So I cranked up Dreamweaver and fixed it up, so I wouldn't have to manually fix the database.
Now I can't remember what the hell I was going to write about.
Edit: And the damn fix didn't work anyway.
September 09, 2005:
"Ever have four or five years where things didn't go your way?"
One more year of being a Browns fan starts on Sunday. I'm so scarred from growing up a Cleveland sports fan that I'll be happy with a winning record. With their "star" tight end out for the year (again) and... somebody... at quarterback, I'm pretty sure this isn't going to be their year. But maybe the planets will align and we'll all get a 9-6 season out of it.
September 06, 2005:
... or, why you should RTFM.
Let's say you have a set of devices. Let's also say you have a computer set up to receive and parse an array of bytes that these things send. One part of this data stream is an identifier. It's a two-byte (16-bit) integer, so I create a Short (a.k.a. Int16).
This works a great deal of the time, since the Int16 coming in is usually something like 18. But every once in a while, I see something like 34,000.
All the programmers are now saying, as long as that Int16 is unsigned you're golden. They would be right.
As an aside for the non-programmers, there are actually two types of number to a computer: Signed and unsigned. Unsigned numbers simply count up from zero until they run out of space. In the case of an Int16, that's 65,535. Signed numbers use one of the bits to tell you whether they're positive or negative, so they can't count as far. A signed Int16 runs from -32,768 to 32,767. Note that it covers the same range, but since it has to differentiate between positive and negative it doesn't go as far in either direction.
Now, let's get back to my program. If you say
Dim MyInt as Int16
you get a signed Int16. That number runs to a maximum of 32,767. Which means that the value of 34,000-ish I was receiving was too much for it to handle.
VB.NET will throw an exception when you do this. But it's not enough of an exception to make the program fail. If you're using threads, though, the thread will never complete and just sit around like a member of the undead. And if you're being a little lazy about closing your threads they'll hang around forever.
Well, by "forever" I mean until the CPU tops out trying to keep track of them all. These zombie threads will eventually bring your machine to its knees and require manual intervention in the form of a trip to Task Manager Land.
There are two solutions. On the one hand you can declare your variable as a UInt16 (an unsigned 16-bit integer) or you can just make the thing an Int32 (a 32-bit integer). Since I was looking for a quick answer, I went the Int32 route and decided to just eat those extra 2 bytes of RAM -- I think the 512 MB on the box will forgive me. The techincally correct way would be to declare it unsigned. Either works, and there's probably no appreciable difference between the two until you start getting a thousand reports or so a minute.
- If the docs say it's unsigned, make sure your variable is either unsigned or oversized.
- Put everything in a try block, even stuff that "shouldn't" throw an exception.
Trust me, you'll be a lot happier that way.
September 05, 2005:
The boss decided to kick off Labor Day weekend a little early, and sent the other person in the office for a half-case of beer. The three of us took care of that pretty quickly. Cheapest morale booster money can buy.
I don't have a lot planned for today. In fact, I think I'm just going to make myself a few hot dogs (shame I can't grill, being on the third floor and all) and watch a movie. But the extra day of rest should do me good.