Apologies to David and to you that this isn't the right video - we're aware of it and it should be fixed ASAP, please come back as David's talk was great on the day.
Loading user information from Channel 9
Something went wrong getting user information from Channel 9
Loading user information from MSDN
Something went wrong getting user information from MSDN
Loading Visual Studio Achievements
Something went wrong getting the Visual Studio Achievements
I need to flag that there's a 'bug' in this video :) I goofed on the day and forgot to include a piece of code that's really quite critical.
At 12 minutes 43 seconds into this video I say "All you have to do is make a runtime check to make sure that it's ok to use the APIs that you want on a particular device family".
At around 28 minutes into the video, I forget to actually do that. When I'm writing a function called DoSomeGpioWork() I should actually be wrapping all of that code in an IF statement that checks that it's ok to use the GPIO APIs. I could do that by checking at the API level or the Contract level and I'd usually use the contract level with some code like;
// Do GPIO Work
I got away with this in the talk but it's important to flag that it was my mistake on the day and so I thought that I'd add it here to make sure it was clear.
Great session as always from Laurent!
At around 2mins in to the video I think there's a bit of a mixup between type converters and value converters. The 2 converters in the project are value converters (IValueConverter) rather than type converters - apologies if I've got that mixed up.
I've added the source code for the library that I use in the later part of the session on to the end of this blog post on my site;
@Aaron:Aaron, that's really useful feedback - thanks a lot for that because I hadn't really thought about it.
I used var here mostly because it gives me less typing to do and less thinking about what type is actually coming back from some of those methods but, you're right, it helps me whereas it might not help the viewer so much so I'll definitely keep that in mind.
Just a quick note - you can find a walkthrough of all the code in this talk over on my blog site;
which should help in following along. That code has also been updated for the latest drop of Rx.
Thanks for the feedback - I don't have the source code I'm afraid as I tend to put these things together for the session at the time and not keep them afterwards.
Glad that you found it useful though
It's on my list of things to think about, yes
Sorry for replying so late to your question, I'd missed it as a comment.
In your code here, you're doing an import of a IWordProcessor onto your WordProcessor member variable. You're also (in the same class) initializing the composition container with all the Assemblies that have shipped with your Silverlight XAP.
By the way - you should *not* have to write that code because it is the default behaviour of MEF in Silverlight anyway so you should be able to get rid of all the code in the function InitializeContainer().
However, if you want MEF to satisfy the import that you have on your MainPage then you do need to call CompositionInitializer.SatisfyImports() on that instance so you can't comment that code out.
Hope that helps.