Friday, June 15, 2007

From today's low tide:


Trying to identify these critters...
Ah, joy. IBM has apparently lost a backup tape containing my name and social security number. And I only worked there for a summer 10 years ago. sigh

Thursday, June 7, 2007

My coach is trying to kill us -- either by the 1.8 mile swims or stings by a thousand jellyfish. Yet I pay for the torture and enjoy it. I guess that makes me the freak. :-)


Seeing jellyfish this early in the summer was strange. We haven't seen them anywhere except in Blakely Harbor, though. Fortunately, as with most things in the Pacific Northwest, they aren't the dangerous kind; their barbs are incapable of penetrating the skin, so the worst you'll get is a mild rash.

Wednesday, June 6, 2007

Saw this interesting vehicle on Wyatt Way on the Island this morning:


I thought it was unmotorized -- the guy was pedaling as it went along -- but it was zipping along faster than anything else I've seen.

A closeup revealed that the wheel he was pedaling is attached to a generator (under the front bar) charging a battery (in the black box under the seat); this is attached to a motor which powers the rear wheel.

The front wheels are only for steering and braking.

I thought it was cool.

Tuesday, June 5, 2007

Heh... I just spent an amusing yet frustrating 8+ hours tracking down an obscure bug. (Non-coders, you probably want to stop reading now.)

I thought there was something bizarre going on with our logging framework. We're working on some new validation code (checking for things like invalid characters in names, etc.). One of the things we log is the number of calls to various functions handled in each request. The logs should look like (simplified):

Request 1: RequestHandler:1,Validation:1,IsClientAuthorized:1,IsValidName:1
Request 2: RequestHandler:1,Validation:1,IsClientAuthorized:1,IsValidName:1
Request 3: RequestHandler:1,Validation:1,IsClientAuthorized:1,IsValidName:1
Request 4: RequestHandler:1,Validation:1,IsClientAuthorized:1,IsValidName:1


Instead, I was getting:
Request 1: RequestHandler:1,Validation:1,IsClientAuthorized:1,IsValidName:1
Request 2: RequestHandler:1,Validation:1,IsClientAuthorized:1,IsValidName:2
Request 3: RequestHandler:1,Validation:1,IsClientAuthorized:1,IsValidName:3
Request 4: RequestHandler:1,Validation:1,IsClientAuthorized:1,IsValidName:4


This indicates we're calling IsValidName() four times on the fourth request. Huh? This is utter nonsense. That's got to be a bug in the logging framework or our log4j configuration, right?

Nope. We really were. My desktop started getting *really* slow around the 100,000th request.

The culprit? We screwed up a singleton initialization. The RequestHandler initializes the validation framework each time; the first call should do the real setup work, and the follow ons should be no-ops. Except... we forgot to set the alreadyInitialized flags and we were adding the same set of validations to the framework each time. For various obscure reasons, the setup actually appends to the framework rather than replacing it.

Amusing because I didn't believe what my eyes were telling me. Frustrating because it took 8 hours of me looking in the wrong place to track this down.

Sunday, June 3, 2007

I am the proud owner of a new cast iron skillet:


It's 17" across, which is the perfect size for making large pizzas -- which is exactly what we did today. The crust came out better than any other I've done.

Yes, I'm getting excited about cooking utensils. Eating well is important!

In other news, L-Com -- a provider of networking equipment and cabling -- knows how to appeal to the Y chromosome:

Yes, they're showing some networking equipment being run over by a truck.

Resulting conversations go something like this:
Husband: We need one of these.
Wife: (Comes over) What are you looking at?
Husband: It's an OC-3 to OC-12 media converter.
Wife: Err... it's a thousand dollars. Where are you going to use it?
Husband: I... don't know. But we need it!
Wife: What do you mean you don't know? How can you need it, then?
Husband: Isn't it obvious? It can survive being run over by a truck!
Wife: (Shakes head, walks away)