Morning Coffee 5

I can feel it coming in the air tonight, oh Lord
I’ve been waiting for this moment, all my life, oh Lord
Can you feel it coming in the air tonight, oh Lord, oh Lord
In The Air Tonight by Phil Collins
Covered by Nonpoint on the Miami Vice Soundtrack

  • It was a tough weekend in the Pierson house. For several hours on Saturday, we thought we were going to have to put our dog D’art down. My wife has the details, but the good news is that he had spine trauma, but nothing broken and he seems to be back on his way to his old self.
  • I grew up in Northern Virginia, so I’m a long time member of the Dallas Cowboy Hater’s Club. So watching them snatch defeat from the jaws of victory against my adopted Seahawks was sweet.
  • Last night, Bill Gates kicked off CES with the usual assortment of product news and announcements. The biggest news, in my opinion anyway, is IPTV support for Xbox 360. (Did you know MSFT has a TV product division?) Details are fairly scarce at this point, but I’m hoping this allows for independent broadcasters to directly reach consumers, much like blogs have done for independent writers. Can I use IPTV to launch my own TV channel? Imagine the possibilities. I’d like a Washington Capitals channel, so I can watch post game highlights on my big screen TV rather than on my computer. A Rooster Teeth channel would also be nice.
  • No coding this past weekend, though I did reinstall XNA Game Studio Express on my recently paved dev partition. I tried playing Lego Star Wars II with my son over the weekend and he’s still having trouble learning how to use the controller. I was thinking I might try making some simple “games” to help him learn.

Morning Coffee 4

Recurring 8am Friday meetings are not my style.

  • I’ve been tracking WCF for a long time. Yet, it’s still a dauntingly large topic. Yesterday I spoke to a friend who works in Windows Live who is just beginning to learn about WCF and it’s literally overwhelming him. His reaction reminded me of my early reactions to COM. It feels like no matter how much you learn about WCF, the “pile” of stuff still to learn doesn’t shrink. In contrast, while my initial exposure to the .NET Framework was overwhelming, eventually I got to the point where I felt like I had a good handle on what was in there.
  • With all the configuration settings in WCF, the number of valid combinations is astronomical. While WCF’s configuration based approach is arguably more flexible than a code based approach, it’s also more complex and harder to debug in my experience. Config debugging seems to be an endless cycle of tweaking the config file and running the app to see what the effect is. We need better tools than SvcConfigEditor.
  • Responding to yesterday’s Morning Coffee, Jon Flanders confirmed via email that the built-in SQL WF persistence service “doesn’t recover from faults to the last good persistence point” and that “when a fault happens, the instance closes and…is removed from the persistence database.” Is this the right behavior? I’m thinking it depends on the workflow. More on this later.
  • I’m trying to get my teammates to start using the Beyond Bullet Points approach to the various presentations we build as a team. Interestingly enough, it’s been easier to get my team to adopt an agile development methodology than to adopt the Beyond Bullet Point presentation methodology. I would have expected the opposite.
  • The Caps trounced the Canadiens last night, ending a five game losing streak. I’m not that worried about the losing streak – the Caps have had several players out with the flu. But beating Montreal, who came into the game twelve games above .500, so badly is a good sign. And how about Nycholat? Two goals and four assists in seven games since he was called up from Hershey. Even more impressive, he’s +2 even though the Caps were 2-5 and outscored 24-18 in those seven games while averaging nearly 21 minutes of ice time per game. Here’s hoping Nycholat stays hot.

More WCS Docs Please

I love me some CardSpace, but I sure wish there was better documentation on how to use it, especially from WCF. The current documentation is very conceptual so you really only have the samples to go on, which sucks not to put too fine a point on it.

One example shows how to use WCS with WCF’s wsHttpBinding. However, it turns out you can also use WCS with WCF’s wsFederationHttpBinding. I’ve been experimenting with that binding talking to an STS, and it’s never invoked the WCS UI before. Why does this example invoke WCS? I’m guessing because it doesn’t specify an issuer in the config file, but I’d need to see documentation to be sure.

Also, using the federation binding appears to be the only way to request/demand additional claims beyond the private personal identifier (aka the PPID). If you want the client’s email address, name, address, etc, you need to specify that via the claimTypeRequirements of the binding’s messagesecurity element. But that configuration isn’t valid for the wsHttp binding. Why?

Finally, the two bindings produce different results on the security token. Using wsHttp, you get three claims: RSA Identity, RDA Possess Property and PPID Possess Property. When using wsFederationHttp, you get Hash Possess Property and PPID Possess Property (plus the claims you request). What happened to the RSA claims? If you attempt to add RSA to the claimTypeRequirements, CardSpace throws an error as an invalid request. Again, why? Keith Brown recently wrote about how to use the RSA claim, so it sounds like a valuable piece of information to have. How come the federation binding doesn’t send it?

Morning Coffee 3

I’m living in a tinder box, hosing down the roof
It’s raging all around me, and I still refuse to move
There’s a lesson I’m desperate to learn
And I’m willing to burn
Willing To Burn” by Maia Sharp

  • A warm welcome goes out to the 110th congress. Between the Democratic majority in both houses and Republicans looking to distance themselves from President Decider and his abysmal approval ratings, maybe we’ll actually get something accomplished in the next two years.
  • Not as nice as USC trouncing Michigan, but I like seeing Notre Dame on the receiving end of a 41-14 beatdown from LSU in the Sugar Bowl. That’s the 9th consecutive bowl loss for the Irish.
  • Actually started getting some work done yesterday. Today I’m doing some WCF STS work, but yesterday I focused on SSB and WF.
  • I need to better understand WF’s faulting and compensation model. I got sidetracked yesterday when I realized that when a WF instance faults, the built-in SQL persistence service deletes the persisted instance from the database. That doesn’t seem right to me, but I was wrong last time I called out the WF SQL persistence service so I want to do more digging before I open my trap.
  • I dig WF persistence. I wrote a few weeks ago about shipping a WF instance to a developer for debugging. Yesterday, I thought about having a persistence service that kept a history of the WF instance rather than overwriting it. I wonder if that would help with production debugging?
  • Great quote yesterday by my boss, speaking ill of a project that will remain nameless:
    “Basically, they’ve spent the last month building an executive presentation to say we’re screwed”

Morning Coffee 2

Late start + early meeting = short post today

  • Want a free SAAB? Drop a line to my boss. Note, you have to be willing to steal it.
  • Saw Clerks II last night. It was the first Kevin Smith movie I haven’t seen in the theaters since the original. Better than I expected, but it’s time for Kevin to move on to new material.
  • Unlike most avid movie fans I know, I’m not a NetFlix customer. Nothing against them, but I’ve never been moved to sign up. But we did just sign up for the free trial of Blockbuster Total Access. Basically, it’s a clone of NetFlix, but you can bring your movies back to your local Blockbuster store and get a free rental on the spot. Plus, you get eCoupons (I think once a month) which are good for free movie or DVD rentals in the store. We’ll see how it goes.
  • As expected, I didn’t get much done yesterday. I don’t think anyone did around here. I did pave the dev partition on my laptop. My laptop isn’t very Vista friendly and we blew our hardware budget on new desktops (which I am definitely not complaining about) so I’m still on XP.
  • I wonder how well SQL MobileAnywhere Compact Edition works with ASP.NET? Seems like that would be a better choice than SQL Express for small websites like personal blogs.
  • Almost finished getting Christmas put away. What with the wind storm, it seems like it went by very fast this year.