I went snow skiing (this past weekend) at Holiday Valley with the Glass City Waterski Club. This was my first trip to Holiday Valley and I was impressed with the selection of runs available. I skied every hill except "The Wall" which was very steep, covered with large moguls and had lots of icy patches between them. Holiday Valley's terrain offered enticing challenges and the weekend was much enjoyed.
We stayed in three separate condos at the bottom of "The Wall". The condos were small compared to Crystal Mountain's lavish three story super condos with gaming tables and big screen TVs. However, we went for the skiing and not for the lavish accomodations. We could easily ski into the condo without pushing fate on "The Wall". The convenience of this cannot be under-estimated. The only wish I had was for a hot tub after a long day of skiing.
This will be solved next year, when we book the larger condos that include a hot tub and are more centally located. I can't wait! Plans are also in the works for a 2007 ski trip to Killington (in Vermont) which has a 3050' vertical drop opposed to Holiday Valley's 750' vertical drop. Hopefully John Kelly can join us! All my friends are welcome on either trip. Let me know if you are interested. Be prepared to go big!
Funny stuff:
Bryce joined us for his annual ski trip. He skied well, but Chrissy showed him who was boss when it came to racing down the hill beating him easily.
Brian couldn't get the sink faucet to work and assumed that there was some sort of plumbing issue. Brian started investigated the pipes under the sink and Doug came over and showed Brian how to operate the sink faucet. Needless to say, Doug attributed this lack of knowledge to his Miami education.
Doug skied like a mad man down Falcon through moguls and over two ski jumps. Hill 2, Doug 0. Doug was out of his Falcon mind. Typical BGSU graduate in full form.
Photos coming soon.
Luckily, Mandy's dress was at the seamstress' house. Consequently, there was no smoke damage from the recent downtown fire. ;-)
I went to the Detriot Boat Show today and checked out the latest ski boats. I purchased some new HO Animal bindings (at a nice show discount) for my slalom ski, so I can fix my mix-n-match ghetto slalom binding setup. I teased Mandy that I was going to buy a boat today (since I could keep all my pre-marriage toys), with a boat heater so Mandy stayed nice, warm, and happy for those early and late season runs. However, this year nobody in the ski club purchased a new boat at the show. When I have so many friends with great boats, why do I need a boat?
Saturday, my best man, 2 groomsmen, and myself got our tuxes sized. Later in the day we had a cookout and played XBox. Sunday, Mandy and I went to our church's marriage preparation class. As part of introductions, we told how we met and how we got engaged. It turned out that Ben & Melissa (who had Paul McCartney help pop the question during a concert) were in our preparation group. Needless to say, we didn't have the best story.
There was a big fire (in downtown Findlay) early Sunday morning and the building next to Sorella's bridal shop burned for hours. Mandy's dress was getting final alterations and bead work at Sorella's. Hopefully, the dress wasn't destroyed. I read in the local paper that their inventory was removed and was slightly smoke damaged. Unfortunately, Mandy already paid ~$100 to have her dress cleaned.
Two steps forward, one step back.
I needed to create a timer within a C# windows application. Since I write few windows applications (and many ASP.NET web applications) I was off to the MSDN knowledge base. It turns out that the .NET Framework offers three timers:
1) System.Windows.Forms.Timer
2) System.Timers.Timer
3) System.Thread.Timer
My windows application is a winform application without a winform. Say what? I needed to create an application that runs in the background and controls loading and focus of other windows applications. (However, a .NET console application can't control other windows applications, so I created a winform application without a winform.)
First, I tried to implement the System.Timers.Timer since the first timer appeared to depend upon a winform. According to Microsoft's documentation I had to create an "infinite" loop that is interrupted by the timer which performs my windows hocus pocus ends and only causes the loop to end when the desired conditions are met. I created a small test of this approach and discovered that it pegged the CPU and used 12Mb of RAM for a simple timer event (that only popped up a windows message box) and the CPU remained pegged when timer events weren't executing.
Second, I tried to implement the System.Windows.Forms.Timer without a winform. I discovered that if I put a call to Application.DoEvents(); in the "infinite" loop that the timer was tricked into working without a form, since all the form events were fired. I created a small test of this approach and it used 13Mb of RAM and came close to pegging the machine when the timer event executed, but fortunately once the timer event completed the CPU utilization dropped to near nothing. This timer was a slightly better steward of system resources but I deemed it unusable.
I came up with my own approach:
while(true) {
event();
sleep(interval);
}
It still uses ~13Mb of RAM which is too much for a 5 line C# program, but that is Microsoft's fault. However, CPU utilization spikes to ~2% when the event executes, but is near nothing during the sleep which models the timer interval.
Did anyone else have better luck with .NET Timers?