Tuesday, April 22, 2008

The wheels come off

My four-year-old has been bugging me to take the training wheels off her bike. Tonight's the night. I have the knee pads, elbow pads, gloves, etc. all ready. Oh, and the band-aids too.

When I took the training wheels off older daughter's bike three years ago, she zoomed away from me, laughing her head off. Didn't fall once. I can't see that happening tonight, but I might be surprised.

Montreal's black eye

Montreal gets a black eye, after last night's riot following a Canadiens win.

C'mon, it's the first round. Can you imagine what would happen if the Toronto Maple Leafs won a playoff round? The streets would be empty. Everyone would be at church, praying as hard as they could...

Monday, April 21, 2008

DibGraphicsBufferManager crash - Update!

Here's an update to our DibGraphicsBufferManager crash problem. You may remember that we were experiencing crashes with obscure stack traces, usually in the DibGraphicsBufferManager class. We tried disposing Graphics objects, and were toying with the crazy idea of turning off double buffering. The double buffering was a no-go, as the performance and appearance was abysmal without it. The disposal of the Graphics objects at least made the problem less common.

What we've since discovered is that there is a limit on the number of GDI objects an application can use. No surprise, really. I mean, there obviously would be a limit. What was surprising was the fact that we were hitting the limit.

GDI Objects

There is a theoretical limit of 65,536 GDI handles per session. However, the maximum number of GDI handles that can be opened per session is usually lower, since it is affected by available memory.

Windows 2000: There is a limit of 16,384 GDI handles per session.
There is also a default per-process limit of GDI handles. To change this limit, set the following registry value:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\GDIProcessHandleQuota

This value can be set to a number between 256 and 65,536.

Windows 2000: This value can be set to a number between 256 and 16,384.


I experimented with a test machine here. It has five monitors, one 1280x1024 and four running at 1536x2048. I displayed a CT study at 5x8 - five images across, eight images down. It displayed fine. So I lowered the GDIProcessHandleQuota from the default 10,000 to 7,000. Rebooted. Displayed the same CT study. Boom. DibGraphicsBufferManager crash, with the same stack trace we've had before.

The hospital that has been seeing lots of these crashes played with the registry setting over the weekend and hasn't (as far as I've heard) had any more of these crashes.

We have a call in to Microsoft to find out what a safe value is for the GDIProcessHandleQuota setting. I think the hospital set it to the maximum.

And now, if you'll excuse me, I need to go dance naked around a fire in celebration.

Friday, April 18, 2008

Staring straight into the shining sun

Why is it that whenever I go to the eye doctor it's a bright sunny day?

I had my pupils dilated today, and the drive from Guelph into work was... bright, let's say.

It's never a rainy day when this happens.

Thursday, April 17, 2008

Speak to Me

The four or five regular readers here will probably know that my favourite band, by far, is Pink Floyd. Last night I saw the Jeans and Classics band perform with the Kitchener-Waterloo Symphony. They played an evening of Pink Floyd music, along with a few songs by Floyd contemporaries, including David Bowie, Jethro Tull and Supertramp, among others. Walking into the theatre, I half-expected to see a haze of smoke coming from the bushes, but oddly enough there was none.

The first half of the show had a couple of Floyd tunes, but the highlight for me was the hypnotic Crime of the Century. The second half of the show was the entire Dark Side of the Moon album. It was flawless. The symphony accompaniment was perfect, especially in Us and Them. During the Dark Side part of the show, a video screen was playing images cooked up by a couple of local guys. That was really well done - the imagery was perfectly in tune and in time with the music.

The place was packed, and there's a second show tonight. If this comes around again, check it out. If you're a Floyd fan, you won't be disappointed.

Oh yeah, the encore was also excellent. In live Floyd shows, there's a dual guitar solo part at the end of Comfortably Numb that absolutely rocks. The band last night did the same thing, but with one guitar and one saxophone. Same chilling effect.

Wednesday, April 16, 2008

Curling shots of the year

Ok, last curling post until October, I promise!

Here are the shots of the year, from CurlTV.com.

And a few more here, from the Cactus Pheasant Classic.

My pick for shot of the year? Kevin Martin's triple for the win, #11 in the CurlTV list.

Monday, April 14, 2008

Spring Thaw

Well, curling season is over for another year.

We wrapped up the season with the Spring Thaw in Vanastra this weekend. Won the first game in a blowout on the scoreboard, but a closer game on the ice. We were on the lucky side of a few shots.

The second game was also close. We left the other team with a tricky double for three to tie, but they didn't make it.

The third game was really close, tied up 6-6 playing the seventh end. We managed to blank to hold the hammer in the eighth, and made a hit through a small hole to win it, for the second year in a row.

Now I can start doing all the fun spring weekend things, like cleaning out the shed and picking up after the dog, now that the snow has all melted...

Wednesday, April 09, 2008

Silent replies, that swirl invitation

If you've been thinking of getting a dog, consider getting one that doesn't like water.

On the weekend we took the dog for a walk down the trail across the street from our house. We're on the last street in town, and behind the houses on the other side of the street is a floodplain with a creek running through it. This time of year, with all the snow melting, the creek is running quite quickly.

So off we went down the trail, and I decided to let the dog have a run off her leash. She's eleven years old now, so she doesn't run as fast as she used to, but she still likes to be the lead dog. When the kids are ahead on their bikes, the dog has to run out in front of them.

Did I mention that she likes water?



Muddy water is best.



After running for a while, she thought it would be a good idea to cool off in the creek. She headed down the hill and did a cannonball into the creek. The water, moving quickly, swept her downstream. She tried to swim against the current, but couldn't. I ran down to the creek and called her over to the side. Somehow she made it to shore and I dragged her back up the hill to the trail. She got back on the trail and gave a huge shake, spraying water everywhere.

I swear she was smiling. Me, not so much.

Thursday, April 03, 2008

Vista SP1

I was wondering why Vista SP1 hadn't shown up yet in the Windows Update service, for our laptop. We have a Dell Inspiron 1521, and I had been expecting SP1 to be there by now. So I headed off to The Google last night to figure it out. Turns out our audio driver wasn't supported on SP1.

I found an updated driver on Dell's site, removed the old one, and rebooted. When it came back up, Vista installed a generic Microsoft audio driver. I installed the Dell (Sigmatel) driver, and rebooted. Then I went back to Windows Update. Tada! SP1 showed up.

Downloaded, installed, rebooted a few times. Everything worked great. Took about an hour total. No problems yet, although I haven't noticed anything different.

Conversation of the day

Alan: Man, I'm getting so many LinkedIn requests lately. Look at this guy - do you know who this is?

Me: Wasn't he on your team a while ago?

Alan: Oh yeah! That guy! I liked that guy. [clicks Accept]

Me: You need a BlackBerry.

Tuesday, April 01, 2008

Rock me gently

I normally zone out when a commercial comes on TV, but this one has me laughing every time. If I didn't already drive a Jeep, this would make me take one out for a test drive. But I'd probably close the sunroof.