So, a little more adjusted to the time zone, not wakening up 4 am to watch the ceiling for an hour before going down to the Fitness Center. Today I just woke up 6.30, got a shower and then went to GWCC to meet up with Martin for breakfast.
Eventually there’s a timeslot where kind of no session seem that appealing – this was one of them and early in the morning as well. Should I pass or should I go to the Hands On Lab area to try one of them out? I did pick a session and it was
COS304 - Using Windows Azure Storage (Jai Haridas)
Actually worth going to this one, he did a good job explaining the differences between the way of storing data in the cloud: Blobs, Drives, Tables and Queues. Good demos made me understand how I’m supposed to use this in real life. He got in to all of them in enough depth so I got a felling for what they could do and what they couldn’t do – and when to use what. I really liked this session and did not at all regret going here.
DEV313 - Microsoft ADO.NET Entity Framework 4 and Beyond: Building Real-World Applications (Jeff Derstadt & Jonathan Aneja)
We’re using EF4 right now in my current project so I thought that it would be a good idea to go to some of the EF4 sessions. In this one there were a real world example from NBC. It’s nice to see that we’re not the only one to struggle with (against) EF4 – but in all a satisfactory session. One of the gems to bring home was the compiled query stuff and the ability to serialize it as JSON.
DEV338 - NuGet: Microsoft .NET Package Management for the Enterprise (Scott Hanselman)
This one wasn’t either on my original schedule, but after all the talk the first day about NuGet I just was forced to see this. On the other hand it was Hanselman so I could have picked anyway. Well, as usual he delivered a good – or actually very good – talk, an this time without demo crashes. There were some mocking on Twitter after his crash in the Monday session.
Now, I’m completely aware of what NuGet is and what it can do – 75 minutes well spent. I’ll have to start using this when I’m back home, I guess I have to show some demos for my colleagues before they accept this, but now I’m well prepared.
DEV337 - Moving Your App and Skills from WinForms to Silverlight and WPF (Pete Brown)
Despite of the level and of the title, this felt like a 200-level talk and even if there were lots of demos the technical content was way to simple. He brought up obvious thing when shifting from WinForms to Silverlight and/or WPF – and it felt like he just jumped over the hard stuff.
DEV323 - A Taste of F#: Today and Tomorrow (Don Syme)
Not all that much new, but a decent talk. The today-stuff was more focused on beginners – I have been playing around with F# since early 2008 way before PDC 2008 so all the points of simplicity and the async/parallel reasons didn’t bring anything new to the table. And the tomorrow stuff was focused on FrebaseData – interesting for sure, but not that’s more a cool thing that a language innovation or a language development. Always nice to listen to Don Syme, though.
On the pre-conf day it feels like the conference is going to last forever, but all of sudden it is the last day…
DEV302 - Identify and Fix Performance Problems with VS Ultimate (Benjamin Day)
When I do performance coding, I do think the “fix” is the more interesting part. The “identify” is simply the boring stuff I have to go through to get to the “fix” part. This talk was totally focused on the “identify” part – and therefor for me, totally boring. And not much new stuff either, the last day could definitely have started better…
DEV335 - Improving Your Microsoft ASP.NET Application Performance with Asynchronous Pages and Actions (Tiberiu Covaci)
Ah, a fellow Swede… Good session that matched the title perfectly. Lot of things that I have been unaware of – or at some point in time had been aware of but now forgot. Yet again the full history of Begin/End, Async/Complete to the new async keyword. I don’t know if the speakers look at each other topics or if the track chair look – but this was my third session where this full history. Now, I like asynchronous programming so it really doesn’t matter that much to me – but could we use the time more effectively?
The twist in this talk was the asynchronous page directive in ASP.NET, and that was completely new to me – or perhaps as in the previous talk, something that I have been aware of but forgot because I never used it. Since I usually tends to do back-end or server stuff the async thing is on my radar, but it wasn’t really for page code. Now I have to have it there as well.
MID302 - AppFabric Caching: How It Works and When You Should Use It (Jon Flanders)
I might say that this was one of the reasons for going here. I’ve been working with AppFabric cache the last month at my current project. The bottom line for this session is that I think I got it all while working with it. Now, that might be feeling like wasting time to go to a session like this, but it’s actually kind of nice to get a confirmation that there isn’t anything else.
DEV377 - Ask Scott Hanselman
My only interactive session this year, with my favourite: Hanselman, and he delivered one more time. There were no specific topic, instead the audience asked questions from organizational questions about MS to specific technical details about lots of stuff – and lots of jokes as well.
Before the last session I ran to the exhibit hall book store to see if there were any books on sale and I bought two with 20% off.
DEV351 - Busy Microsoft .NET Developer’s Guide to the Microsoft Cloud (Ted Neward)
He started with a declaration that he would present any demos, that this would be a Power Point only talk and that anyone that was uncomfortable with this could leave if they wanted to. I remained in my seat somewhat sceptical, but it turned out to be one of more interesting talks of the week. Not the usual “hallelujah, do this and everything will be fine”, on the contrary he told us to be sceptical and careful about putting applications and/or data in the cloud.
An end session that gave us something to think about on our way home
…or day 3, it depends on if you count the pre-conf day as 1 or 0. Anyway the day started – perhaps not as focused as I should be – with
DEV340 - Tackle the Complexity of Async Calls in WPF and Silverlight (Brian Noyes)
He started with an overview of multithreading in general and the benefits and challenges that multithreading gives you.
He then did a quick review of the history of async call patterns in .net from Begin/End over Async/Completed and TPL & PLINQ. He continued with Async CTP and the new async keyword in C#, and at last he did a short detour to Reactive Extensions as well – a nice bonus, I really like that stuff. It takes me out of my ordinary path of thinking. Check it out or better, come to my talk about it on Wednesday at Valtech Tech Days.
I was very pleased with this talk and i didn’t felt at all as the morning session after the exhibit hall reception the night before.
DEV301 - The Future of Parallel Programming in the Microsoft .NET Framework (Danny Shih)
Parallel and async seem to go hand in hand, this turned out to be roughly the same talk as I just attended. Only more focused towards the new async stuff that’s in the pipe. The content was alright as so were the speaker – but he finished in 45 minutes so I felt a little bit disappointed. I mean, if you have a time slot of 75 minutes it would be OK to finish 10% early – like about 10 minutes, but 30 minutes early? Bad rehearsal I would say.
DEV355 - Orchard 1.1: Build, Customize, Extend, Ship (Sebastien Ros)
Completely brilliant session. A total walk through of (not perhaps) all features in Orchard. A good speaker with just the right amount of humour together with just right enough technical depth totally made my day. Originally I didn’t plan to see this session, I had another one scheduled but after all the talk yesterday about Orchard I had to see what is was – and I didn’t regret for a second that I switched session at the last minute.
And I got more sure than before that I definitely have to check this out – actually it’s now on top of my must-try-list.
DEV343 - Application Development with HTML5 (Brandon Satrom)
I’ve been to a fair amount of “development with HTML” talks before and all of them - including this one - are more about HTML5 than about developing. But since I don’t do a lot of HTML at all nowadays, it was a nice walkthrough of the stuff and he did it quite well. The one thing that he said got stuck in my mind hadn’t anything to do with HTML5 though, it was about the development process around IE9 and the upcoming IE10 – more early bits to developers that ever before.
MID307 - Make Yourself Comfortable and REST with Microsoft .NET (Howard Dierking)
I like REST, I like WCF, I like developing in .NET. This was an excellent description of how to make a REST service with WCF. Thank you, sir. Not that it’s hard or complicated, and I have played around with it a while ago and I think I got it then. But this talk explained it in a better way than I could pick up from other resources so whenever I'm about to make a REST service I will fast forward through this talk before I start.
The first hour David Callahan gave us an Overview and Architecture talk on the subject of concurrent computing and parallelism.
It was quite a good hour and I remembered some stuff from my school days, even though it has become more complicated since then. The talk was a little bit on the theory side of the subject and I just sat waiting for some real examples, but they never appeared.
The main idea was that we can not rely on Moore's Law to have faster applications in the future, instead we must take advantage of more cores and more processors that will appear in our computers. Today most laptop has a dual core processor and within a couple of years who knows how many cores there will be - 4,8, 64 ...?
The next hour Stephen Toub brought me all examples that I missed during the first hour. But the subject was narrowed down to Mechanisms for Asynchrony. He did a very good job on explaining the history of thread within .NET over the years and how it has evolved from v1 to today.
But as I actually had done some job with threads before, both within .NET as well as earlier with Win32, it wasn't that much new stuff. But it's most of the time nice to have some recap from time to time, and it's also nice to see that there's no big areas on this subject that I've missed during my years with simple ASP.NET applications and .NET based CMS systems - which not had been that much thread intensive...
So, when I've got back the feeling of being in control of the subject again it was time for Joe Duffy to talk about Topics in Synchronization. Stephen warned us about "brain melting details" and we got plenty of "brain melting details",not in a bad way though, but in a way that made me want to learn more. Actually I went to buy Joe Duffy's book Concurrent Programming on Windows during the break. We'll see when I'll got the time to read it, perhaps it just going to sit on shelf for a while and be acting as a reference, I mean it has over 1000 pages - it's not exactly what Ill bring with me nor on my commute neither to bed before sleeping.
Back to the pre-con it was time for Stephen Toub again, this time on Synchronization Best Practices. And again he delivered some good examples i VS.
For closing Joe Duffy talked about Design and Algorithms and Stephen returned with support for concurrency and parallelism in .NET Framework 4.0
Over all it was a good day of pre conference, not that much new but it made me eager to learn more on this topic. David Callahan wasn't that great of a presenter, but both Stephen Toub and Joe Duffy was excellent.