Friday, November 25, 2005

Well, another Thanksgiving, another delicious fried turkey.  We had a great time.  Becky's parents came on Tuesday and we've been having alot of fun since then.  My parent's came about lunch time, and my Dad and I cooked the turkey.

This year, I did a half-and-half turkey again.  Half flavored with injected Chipotle Tabasco, and the other half with a garlic and herb injectable marinade.  I got a bit lazy this year and forgot to pick up the peanut oil.  Thankfully, a store was open in the morning, and I got some.  As a result, it was a different brand than I normally get.  Unfortunately, when the time came to start, I discovered it was not enough oil.  Thankfully, the store was still open and I was able to get another box.

We did the best job so far of bringing the turkey up to temperature, so there wasn't near as much "volcano effect" as usual since there wasn't alot of condensation or other external moisture.  Everything went perfectly.  The bird turned out excellently (as usual) and was fantastic.  It, along with the other excellent foods prepared by the girls, made for an excellent meal.

Unfortunately, Becky's dad wasn't feeling well and was unable to participate fully.  He's feeling much better now, though.

Check out my turkey photoset and the other photos near them for the fun.  I'm sure my dad's pictures will be up shortly as well.

posted on Friday, November 25, 2005 11:46:22 AM (Pacific Standard Time, UTC-08:00)  #    Comments [2]
 Tuesday, November 22, 2005

It seems Chris Anderson's 360 launch experience was remarkably similar to mine [1, 2].  I just thought that was interesting.  I figured MS folks would have their pick early.

posted on Tuesday, November 22, 2005 2:57:18 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]

In a followup to my last post, I was 26th in line for 24 XBox360's this morning at Costco.  At least my friend Yong was 18th in line.  He called me as I was just waking up, and I set a record for getting ready and getting to Costco.

The guy in front of me (#25) who just missed out started getting really mad and yelling, setting a really good example for his kid.  I thought the manager handled it really well.  In fact, the whole operation was pretty smooth.  They gave people numbers and took their Costco cards and said, "come back at 8:30".

posted on Tuesday, November 22, 2005 7:00:35 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]
 Monday, November 21, 2005

Well, looks like I won't be getting my hands on an XBox360 tonight.  My job actually requires me to do some work, and I didn't get in line in time.  I heard some crazy stories from some people in line.  One guy drove several hours for his place in line.  I figured Wal-Mart would be my best bet since it would be open at midnight.  I was right, I just couldn't get there soon enough.

It's fine though.  I'm not terribly excited about any of the launch games.  I was just really excited about playing Halo 2 in HD.

So, I suppose I'll have to wait a while.  Boo.  Let me know if any of you guys have the hook-up.

posted on Monday, November 21, 2005 5:18:00 PM (Pacific Standard Time, UTC-08:00)  #    Comments [1]

I saw an unofficial announcement of the new Windows Live Custom Domains Beta from Dare's post.  It sounded pretty cool, and I have a domain without current mail capability, so I decided to give it a shot.

The "setup" was surprisingly painless, I merely signed up and enabled my existing passport as the "administrator", and it told me the settings I should enter for the DNS mail exchanger (MX) entry.  No problem.  It quickly verified the settings and told me everything was set up.  Fantastic!

I added a new account, and it said it was ready.  Here's where the fun begins.  If you haven't figured it out, you're basically getting hotmail accounts that are hooked up to your own domain name.  That's cool, despite the fact that it's hotmail, which still sucks in my opinion compared to GMail, despite the wider offering of calendaring and reminders.  (Tons of in your face adds and not very many features)  So, now, I have to figure out how to sign out of my current passport account and sign in with my "new" one to test it out.  I don't know if anyone has trouble with that, but it never works for me.  After logging off and logging back on, I visited hotmail and was in.

Unfortunately, Hotmail still has no "forwarding" functionality that I'm aware of, so this really isn't giving me anything useful.  Now, I can get email at a nice address, but I still have to go out of my way to go get it.  I'd rather have it forwarded to wherever I want.

Additionally, now I have 2 passports, and there seems to be no support for being logged into two passport accounts simultaneously, bringing up a whole variety of issues. And I can't get rid of the original passport because it is the "administrator" account.

In my opinion, the most likely usage scenario for this is bloggers or other content authors who have purchased their own domain, and want the "coolness" and other identity benefits of getting mail at that domain.  The current functionality doesn't seem to support that scenario in an optimal way.  I think it would be far better to be able to associate other email accounts with the same passport and be able to specify either to receive that email through hotmail or to forward to another account.  I don't want to create and manage a bunch of passports just to have a couple of extra email aliases.

 

posted on Monday, November 21, 2005 11:55:13 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]
 Sunday, November 20, 2005

(some photos are from my Dad's Flickr account. clicking them will take you his and not mine)

No, it's not the day of the week I take a shower...yet.  The date is fast approaching and we had our final baby shower today.  This one was the "old school" shower that we had in Belton, basically for friends of my parents who were unable to make it to Austin for our other shower.  It was a good time to catch up on some of the people that I grew up around, or were parents of my friends and such.  We also got alot of goodies for the baby.

CRW_3569An unexpected surprise was that Courtney showed up.  Unfortunately, I had not communicated that I would be there, so Heath didn't come, which would have been really fun.  But, Becky was telling me how glad she was that she came.

Andrew and Sara were there as usual.  We can always count on them.  Goods friends of the family Kandy Kirkley, Judy Owens, and Kathy Thompson rounded out the rest of the shower organizers (along with good ol Mom and Dad).  Thanks for all for the wonderful gifts and your hard work to help us out.  We really appreciate it.

Oh yeah.  This morning at church, we were greeted to a surprise shower by the youth department.  It was really nice, and they gave us a heap (of the 64-bit size) of diapers, which will of course be extremely useful.  It was really fun, except that they made me eat baby food, which was quite possibly the nastiest thing I have ever put in my mouth.  It was quite difficult to fight the gag reflex.  In fact, just writing about it is making me ill.  Thankfully, a couple of girls from our class of juniors also ate it.  I wouldn't have been able to do it without them.

My dad's got a whole set of pictures on his Flickr site.  I didn't take many.

posted on Sunday, November 20, 2005 5:50:10 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]
 Wednesday, November 16, 2005

As an update to a previous entry, Peter Golde has updated the PowerCollections library to be compatible with the final release of Whidbey.  Yeah! I can go back to using the official release!

posted on Wednesday, November 16, 2005 4:27:26 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]
 Sunday, November 13, 2005

Well, we had the Turkey Bowl this weekend, an annual flag football game between the juniors and seniors in our church youth group.  Since I teach the 11th grade Sunday School, I was the junior coach. We ended up losing, though through no fault of poor playing.  A good time was had by everyone.

In my role as coach, I felt the need to look more official, so I used my XBox headset to accomplish that.  Check out the whole photoset.

posted on Sunday, November 13, 2005 6:44:58 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]
 Wednesday, November 09, 2005

We made a discovery today that the most recent release (1.0) of the PowerCollections library is not compatible with the .NET 2.0 RTM.  This is because of the changes in System.Collections.Generic.KeyValuePair<TKey,TValue> to make it immutable. (The change was actually in a release candidate before the final release.  Basically the public Key and Value fields were abstracted via readonly properties.) A few of the PowerCollections classes make use of the formerly-exposed fields to set or modify the key and value.

So, I made the necessary changes to the project so that we could continue to use it.  But, I'm surprised that Peter Golde, who owns the project, has not at least acknowledged there is a problem and provided an updated version.  I'm tempted to post my changes because there seems to be alot of people who are complaining about it in comments and the forums. But I wouldn't want to cause a "fork" in the project at all, especially for such a trivial thing.  I know there are several other things that ought to be changed to accomodate changes in the release, like arrays properly implementing generic IList.  There is a specific workaround for the issue in PowerCollections.

[UPDATE:] This has been fixed officially!

posted on Wednesday, November 09, 2005 12:50:38 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]
 Tuesday, November 01, 2005

Another geeky post.

We built our own query system several years ago.  It used the concept of "query by example" with templates that were interpreted into SQL.  You could generate the equivalent of an "IN" clause by assigning something that implemented System.Collections.ICollection to a template property.  Recently, with the introduction of generics and the generic collections, we decided to relax that contract to IEnumerable since that's really the least common denominator of all collections.  This produced some hilarious results.  As you can imagine, anywhere where we were using strings to specify template values, they were being interpreted as collections of characters.  This manifested itself mostly by having queries return nothing, since our system properly handled Chars and treated them as strings.

But, this reminded me of a similar incident a few years ago that involved a framework that rendered objects as comma-separated values. So, instead of:

Mark, Miller

You'd get:

M, a, r, k, M, i, l, l, e, r

I thought since I had been bitten twice, I would write it down.  I usually don't forget stuff I take the time to write down.

So, the moral of the story: Remember that even though System.String implements System.Collections.IEnumerable (and now System.Collections.Generic.IEnumerable<System.Char>), you usually don't want to treat it as a collection.  You may need to special-case it.

Anyone else think of another type like this?

posted on Tuesday, November 01, 2005 12:23:02 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]
 Tuesday, October 25, 2005

I ran into a nasty performance problem recently.  It involved some AJAXy type dynamic requests.  The problem was that two requests always seemed to be occuring serially rather than taking advantage of the wonders of a multithreaded server and running in parallel.  After much spelunking and debugging, it suddenly occurred to me that the handlers were marked with IRequiresSessionsState to pull a trivial piece of information out of the session.

You may not be aware, but accessing the session usually results in an exclusive lock.  Normally, this isn't a problem since users very seldomly open multiple windows or send simulataneous requests, and sessions usually represent unique users.  But fire off two simultaneous requests, and they will be processed serially.

But, if you mark your page as being "ReadOnly" (or disabled) via the EnableSessionState attribute of the @Page directive (or IReadOnlySessionState for IHttpHandlers), you'll help yourself out.  ReadOnly will get a reader lock on the state, allowing multiple readers access, while disabled (via "false") will not lock at all.  In addition, if you're running your session state out-of-process, disabled will keep you from incuring a hit from the db or other store access.

Just an interesting bit of information that thought would be useful.

posted on Tuesday, October 25, 2005 12:28:11 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]