Second time's a charm!

by Michael S. Kaplan, published on 2005/05/29 00:01 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2005/05/28/422958.aspx


(a tiny little bit if technical content in this post, but its in the second half and may not be worth the trouble sifting through this stream of consciousness blathering!)

About a month ago in my post Getting Enough Exercise? I talked about my exciting scooter ride to Typhoon! that saw me pushing my scooter for a lot of ths way back home.

Well, they fixed the problem in the Victory's motor a few weeks ago but I was still wary about taking it out again.

But the weather yesterday and today was simply way too stellar to ignore. I had to get out there. So I put on shorts and my lucky T-shirt (more on why its my lucky shirt another time, its a great story involving a concert in Malmo and a bizarre car repair accident that ruined the shirt I had on), and headed out.

I made it there and back, with no problem at all. It was awesome!

And I think I realized why I enjoy the idea of scooting around. It is pretty much the same reason I used to like running (back in the days when I was able to do that). It gives me a chance to keep my lower level systems busy handling the mundane tasks like watching traffic and steering, and I can disconnect the higher level systems to just think about stuff.

I swear I came up with ideas for fixing a bug assigned to me and thoughts on how to approach debugging two others. I ran ideas for things to say during the various talks I'm doing and am really looking forward to doing them. I thought about my busy schedule over the next few months -- a TechEd in Orlando , a wedding in Seattle, a TechEd in Amsterdam, two B'nai Mitzvot in Sugarland, a trip to Edmonton to talk about Unicode stuff to two different groups of people and a likely gig in Houston to do the same while I am in Sugarland, interesting bugs to look at and several interesting projects to work on.

I remember when summer was a time for vacation!

Then I was thinking about the last time I was scooting to Typhoon. I drove into Redmond Town Center, did some shopping, and scooted over to the restaurant. On the way there I saw an ex-girlfriend (well, technically ex-fiancee, I guess that promotes her to the ex-girlfriend!), and I really didn't say much more than hello. I thought about it later, wondering why I did not stop and ask how she was doing, how was life, how were her kids, how was the job, and so on. But I really did not do any of that. No special reason, I was not trying to avoid it as far as I know. I mean, I had the scooter so it was not a worry about not being able to stand around very long. Maybe I subconsciously was just trying to not get back into it all. I don't think I was rude, and its not like she was asking about me or anything. So maybe she had the same idea.

Or maybe I just look more pathetic in the scooter than I used to with the cane! :-)

Well, even  if that is true, I think I will keep on scooting. I did not realize how much I missed that special processing time I used to get. It's hard to explain, but it is the kind of thing you can't do when you are relaxing or trying to sleep or whatever. I guess I have also managed to do it on a beach in Little Cayman a few times, but that was by literally thinking about nothing at all and hitting some sort of Zen state where awareness creeps in while you bake in the sun and watch the water, but never in any other time or place. Since I don't have as much time to get away like that, the scooter trips can make a great substitute....

Anyway, back to this current trip.

I was thinking a little bit about CompareString/LCMapString (and their managed cousins CompareInfo/SortKey). And the promise to work to make sure that the results of string comparison and sort key comparison results are consistent.

It occurred to me that I do not even remember the last time there was a bug on the sort key side of the equation, but I do remember all the last who knows how many issues that have come up on the string side. The hazard of trying take shorcuts, I guess -- you can easily find yourself getting tagged out trying to slide into second base, if you know what I mean. And in a function that is pretty much a goulash of shortcuts to try to maximize performance with a goal of a 0% sacrifice in fidelity.

Now admittedly the bugs are pretty much all edge cases. But the obvious cases, one takes for granted -- it is like the Talmud. It is in the minutae that you can draw solid boundaries so that everything else will fall within or without in deterministically defined ways....

Now somewhere deep in the code of that function, there is a simple skeleton of a design, but over time the various complexities and bug fixes and features and workarounds have conspired to make it a very daunting code base. Enough so that most people on the team, who are usually happy to load balance bugs, will hesitate rather than pick up the sorting ones. It's just a rough code base to jump into. Of course comments have not always been maintained as well as they could have been when small changes have been made -- I really ought to try to clean some of that up, and make sure the comments match the code (and that they exist where they ought to!). It may even help inspire new insights. :-)

And now I will go eat some more noodles. If you made it this far, thanks for making it through my blatherings. :-)

 

All the characters fell asleep by the time I got to Little Cayman, so none were awake to take the sponsorship. I will try to wake them up for a post later....


# John Walker on 28 May 2005 11:26 PM:

Michael,

I agree totally. On long walks or long drives, I find myself thinking and figuring things out all of the time, especially source code. More interestingly, during especially hairy coding times, I have found myself waking up in the middle of the night with the answer to a problem I was seeking earlier in the day. It's been more than a few times that at 4 AM I've walked into my office to implement those changes before I forgot them.

The brain is an amazing thing, isn't it?

jw

# Michael S. Kaplan on 29 May 2005 12:08 AM:

Hey John!

I agree with that -- and have often had that very same experience (I even blogged about it earlier this year: http://blogs.msdn.com/michkap/archive/2005/03/23/400982.aspx )

:-)

# George on 29 May 2005 1:50 PM:

So when do you plan to post about some of these bugs in CompareString?

# Michael S. Kaplan on 29 May 2005 1:59 PM:

Hi George -- they may pop here from time to time, if/when it makes sense.

Tanveer Badar on 21 Dec 2007 12:26 PM:

Ah! The wonders of traveling.

Most of my brilliant (warning:!modest) ideas arrive while I am either traveling or taking a bath.


Please consider a donation to keep this archive running, maintained and free of advertising.
Donate €20 or more to receive an offline copy of the whole archive including all images.

referenced by

2007/09/15 I'll feel better after I eat something? Well, maybe... or maybe not!

go to newer or older post, or back to index or month or day