Archive of August, 2005
August 29, 2005:
Last week I received the bill for my 2006 windshield decal from the county, in addition to the $20 or so I owe in property tax on the car for 2005. Obviously I need to pay this $45 to keep the tax man from coming for me.
They sent the 2006 decal with the bill.
August 26, 2005:
I've been trying to get to know the area the only way I really know how -- by looking for ne wways to go places and "getting lost" as a result. One of these excursions -- turning one street too soon on the way back to the chiropractor -- failed miserably as I wound my way around housing developments. I eventually made my way out to Centreville Road (or maybe it was Walney by that point) and found my way home.
The latest excursion went a little better; I knew ahead of time that I'd probably wind up at the gas station near my apartment. In addition to learning that -- at least in this case -- having the same name really does mean it's the same street, I found a school-like building and the football field next to it. The houses back there also dredged up a memory I didn't even know still existed.
Unlike my apartment complex, where you have only a few entry points into a self-contained street system, the houses there sat on access streets that had intersections with the main road every couple blocks. (You can see what I'm talking about here, since I'm doing such a wonderful job of describing it. And yes, the development there is so new it doesn't show up on the aerial photography. Try to extrapolate out from the few houeses that were there.) For some reason it reminded me of visiting a friend's father down in the Columbus area, probably close to 20 years ago now.
It always amazes me what my horrible memory manages to pull up. And sometimes it irritates the hell out of me too, when I get the feeling that I'm trying to remember something but can't quite call it up.
August 25, 2005:
The office really is mine; Amos brought in my and my coworker's nameplates Tuesday.
I had a business card slid in there temporarily, but now my name is on the wall. The new nameplate doesn't quite match the old ones, but I'll take it.
Note: Yeah, as soon as I say I have writer's block, I get something to write about. Why can't I get Murphy's Law to work the other way more often?
August 23, 2005:
As you've notived, there's even less content here than usual. I'm going to drop the four-a-week schedule for a while and just post whenever I have something. Hopefully I'll be able to get back in the swing of things soon.
August 22, 2005:
I discovered this weekend that my toaster oven's maximum temperature (450° F) is not hot enough to self-clean. It is enough, however, to make the kitchen stink.
August 15, 2005:
Hide from it.
During the 63 hours from 5:00 PM Friday to 8:00 AM Monday, I left the apartment once, for a grand total of 2½ hours. And half that time was spent in the office and its A/C. (I had to drive in to check on something, and help the boss with some database maintenance.) Aside from that, all I got done was a run to the grocery store.
Given that it was 107° again as I was coming home from Safeway, I'm very much OK with my weekend of sloth.
August 12, 2005:
Ya know, the purpose of a blog (well, one of the purposes, anyway) is to vent your spleen. And damn do I need to vent mine right now. Unfortunately I'd probably be extremely fired if I did so I'll just have to settle for being the only one in the office: I can yell and scream and cuss like a Marine with Tourette's and nobody's here to hear it.
On the downside, I may come up with a couple neat new combinations and nobody will be here to savor the moment.
August 11, 2005:
My goal for today was to bike in to work. That would have involved waking up at 5:30. That did not happen. I can get up early if I have to (see one of my previous posts about jarheads screaming at me) or if I really want to (Cedar Point trips and vacations) but not if it'd kinda-sorta be a good idea.
Maybe I'll try riding both Saturday and Sunday. I suppose it's technically possible.
August 09, 2005:
I'm starting to think about buying a new car, mostly because the current car doesn't have air conditioning. Even though my now-13-year-old car has caused me some problems, I'm still pretty happy with Hondas. So I decided to see if a hybrid would be worth it.
First off, Accord V-6s. The hybrids don't come with manual transmissions, according to NADA. Thanks for playing.
OK, move on to the Civics. I compared the PZEV manual transmission with the regular version's EX model. As best as I can tell, those are comparable cars except for the hybrid engine.
NADA says the MSRPs are $20,050 for the hybrid and $17,510 for the normal one. Difference is $2,540. Assuming I want the hybrid to pay for itself in four years, that's 40,000 miles I need to travel. Now for the fun part.
I'm going to say ¼ of my miles are highway miles, going to and from work or to and from the doctor. That means I'll do 10,000 on the highway and 30,000 in the city. I'll use a total of 806 gallons of gas in the hybrid and 1,124 in the regular. That's a difference of 318 gallons.
So now I have a cost and a number of gallons. $2,540 divided by 318 gallons is $7.98/gal. That's how expensive gas will have to get before a hybrid is worth it to me.
Now, as part of the energy bill the first 60,000 vehicles any manufacturer sells in any year (I think it's a calendar year) gets the buyer a tax break. I think it works out that $3,500 of the price doesn't count at all as far as income tax is concerned. So if I don't have to pay income tax on that $3,500, that means I'll avoid paying about $1,100 in taxes.
Deducting that from the cost difference leaves me with $1,440 to make up. That brings the cost of gas down to $4.53/gal. Still not worth it, but getting closer. So it looks like the next car will either be a few years down the road, or a normal manual transmission. I'll decide once I get my credit cards paid off.
August 08, 2005:
Haven't felt like doing much of anything lately. I managed to tear through my pathetic excuse for a backlog without adding a single entry to it; it's taking me twice as long as usual to get my work done because I'm just not feeling into it; and I'm starting to have to force myself to go ride my bike on weekends.
The work angle is bothering me the most. My current project is something I haven't done yet -- I should be diving headlong into it and solving the problem. Doing new things is what makes my job enjoyable, after all. I feel like I'm already in a rut and I've only been there for four months. Hopefully I can just fight through this and get into the next project.
Biking is more to be expected. I've never been a big fan of exercise: The longest I've ever stayed on a regimen was when I had a bunch of jarhead wannabes yelling at me twice a week. The fact that they were "paying" me more than $20,000 a year by covering my tuition went a long way toward making that palatable. I'm still going out every Sunday (I plan on going as soon as I finish this entry) but I'm just not looking forward to it like I was. Again, I think I'm in a rut -- I'm just too familiar with the route, and the big hill just past the Beltway keeps me from doing any more exploring.
My new goal is to start biking to work at least once a week, maybe twice, on Tuesday and/or Thursday. It's a little over 6½ miles (more if I try to go around the bicycle death-trap that is VA-28 in Prince William County) and can be done in under an hour. That would provide the double benefit of more exercise and saving me gas money. On the downside, it involves waking up an hour early and I lose that gas savings by having to buy my lunch. It might be worth a shot, though, if it can pull me out of this funk I've been in lately.
Writing I've never been able to figure out anyway. Sometimes I have lots to say; sometimes nothing. The more I do this, the more I respect people who can do this on a daily basis and turn out non-crap.
August 05, 2005:
Recently at the chiropractor, someone switched the radio they pump into the office over from muzak to classic rock. Fine by me. CCR's "Bad Moon On the Rise" came on, and that was good. The song that followed, however, wasn't so good.
Don't get me wrong, I liked the song they played; I just refuse to admit it belonged. "Home Sweet Home" by Motley Crue? That was released in 1985... when did Motley Crue become classic rock?!
Side Note Not Worthy of an Entry: On the way home yesterday, the bank thermometer was sitting at 108°. Any bets on what it'll top out at? I'm guessing we'll see 111° by the end of the month.
August 04, 2005:
Well, the program I wrote about Tuesday is still plunking away in defiance of my plan to figure out what's wrong with it. So I decided to cause myself a new problem.
The devices that send us data require us to acknowledge that we got the information. Otherwise it just keeps sending the same thing over and over. This is a problem if we're actually getting the data but not replying fast enough, because we're going to wind up with a bunch of duplicate records in the database.
So I wrote a trigger (I'll spare you the irrelevant stuff).
CREATE TRIGGER RemoveDuplicates ON ReportTable BEFORE INSERT
-- Variable declarations here
SET @LastReportsTime = (SELECT TOP 1 ReportTime
FROM ReportTable WHERE DeviceID = @ThisDeviceID
ORDER BY ReportTime DESC)
IF @ThisReportsTime <> @LastReportsTime
-- Allow the INSERT to continue
Worked like a charm.
Until we activated a new device. Acknowledgments were getting sent but nothing was going into the database. I checked my flaky data receiver and it was still going strong in spite of the fact that I wrote it.
See where I screwed up?
When there are no previous records, @LastReportsTime isn't assigned, so it stays NULL. And comparing NULL to anything, including itself, returns NULL which means the expression will never be true. Every report that came in was being rejected.
Luckily we were only bench-testing the new unit, so the lost data wasn't important. Of course, the fix was to change the comparison to IF @LastReportsTime IS NULL OR @ThisReportsTime <> @LastReportsTime and everything worked fine thereafter.
Remember, just because some languages let you get away with playing fast-and-loose on object typing doesn't mean they all will.
August 02, 2005:
Lately I've been working on .Net-ifying a program at work. It hasn't been as easy as I thought it would be, because I'm learning how to do threads and tweak the garbage collection as I go. So I was pleasantly surprised when I got something working Sunday afternoon.
Monday morning it starting goofing up left and right. The basic process is:
- Data comes in
- Create an object with the data in it
- Kick off a thread
- In the thread:
- Do some stuff with the data
- Write to a database
- Update the UI
- Clean up the object's variables, abort the thread and let the object get GCed
Well, that's the theory anyway. And all day Sunday it worked beautifully. CPU usage stayed somewhere around 5-10% and memory usage was pretty flat. Monday was different.
After an indeterminate amount of time, it just stopped writing to the database. No exceptions were thrown, it just wasn't doing anything. It managed to skip straight to the part where it updates the UI somehow, so on the surface it looked like it was working.
Checking the database, though, revealed that data was no longer getting written (we keep a column that just gets populated with GETDATE() whenever it's written, so we can tell at a glance whether it's working or not). After a couple minutes objects stopped getting cleaned up and CPU usage went up.
Obviously, something's not happenning and the objects aren't getting cleaned up any more. Time to figure out why. I've been averaging about 45 minutes of uptime, so I create a new version of the executable at 3:30, one that spews a bunch of debug data to a file each time a thread kicks off, and turn it loose. As I leave work it's still humming along with no cares in the world. No problem, I think, I'll just connect via Remote Desktop and take a peek, since I'll have to restart the thing anyway.
It's been running for five hours now and shows no sign of stopping. I don't want to leave it run overnight, because when it screws up the data is lost, and I don't want to explain to the clients (or my boss) why we have an eight-hour gap in the data. I also don't want to shut it off, because the data will be stored by the machines sending it in and we'll get flooded with packets when I get to work and fire the thing up.
So now I'm actually in the odd position of wanting my program to fail.
Edit, 8:36 AM: Seventeen hours later, it's still going. I just have to remember to delete the text file every couple of hours until the thing chokes.
Edit, 4:03 PM: And it's still going. This thing's never run for more than 24 hours. So instead of logging in to kill and restart it, now I apprently have to log in to flush the debug file since it grows at the rate of about 20 megs a day.
Edit, Wednesday @ 1:37 PM: The only thing I've been able to think of is that the brief delay during which it accesses the text file is letting it take its time on the database stuff, which I think may be the culprit. I just have too much to do today to test it out. I wonder if I'll have to rig up a system where I set a flag when I start writing and set it back when I'm done, making other threads wait a few milliseconds if the connection is busy.
August 01, 2005:
On Tuesday, when temperatures hit 107° F, I decided that I really ought to fire up the A/C. I closed the windows, cleared a lot of the stuff out of my storage area to give the unit some breathing room just like the landlord recommends (even though the actual heat exchanger is on the ground under my bedroom window), set the thermostat for 72 and fired it up.
Three hours later it was a few degrees hotter. The thermometer on the wall stops at 90°, and it was beyond pinned. I figure the place was getting rather close to the external temperature. So I did just like my family had alawys done when it was hot out -- I opened the windows, cranked up the fans and basically just sucked it up.
Wednesday afternoon I called the landlord to get the A/C fixed (turns out the fan motor was bad). When I told the guy that I noticed it last night he was actually surprised that I hadn't called the 24-hour line. "We would've sent someone right out," he said.
This completely boggled my mind. I realize I'm from the frozen tundra as far as people around here are concerned, but a couple days over 100° with no A/C does not constitue an emergency for me. It just means that I sit in front of the fan and don't do much. (As opposed to any other day, when I don't do much regardless of fan placement.)
Help me out here... I was 15 or 16 when Mom and Jim got married, and we first acquired air conditioning when we all moved in with him. And even then we rarely used it. Is it really that odd that I didn't think of 107° with no A/C as a get-out-here-now type of problem?