And by now you are wishful that I wouldn't have gone there, so I could shut up for a moment. But I do not change plans for the audience...
Oddly enough day two did not suck all of my energy off. And the last conference day was full of really interesting sessions to pick from.
Functional Programming in C#
Let's face it. I love being brain-f¨ck#d. Only that explains that I get up early in the morning willing to be exposed to a bunch of pretty complex concepts that even after some reading I still couldn't understand.
I had high hopes that someone smarter than me could explain concepts like high-order functions, currying or lambda calculus in a simple, understandable way. I was asking too much. The speaker failed to do so.
Please do not take it in a "the speaker had no clue what he was talking about" kind of way, but when the session starts with a "the stuff I am going to speak about is really, really difficult and if you don't get it, please do not feel bad about it", something bad is about to happen.
The fellow was (or a least looked) pretty young and from minute one he was projecting he was nervous. And he got even more distressed when the dreaded computer demo-crashing happened.
I will have to review the code he kindly provided and figure out what it's doing and how it can help my day-to-day work. I felt bad for the speaker having a hard time and even worse for myself as I would have been still comfortably in bed since the other first sessions weren't the most attractive ones for me.
Ten Tricks Every SharePoint Developer Should Know
I chose this session over "Introduction to Entity Framework" as I think I can easily get that introduction somewhere else and this session looked as advices from real projects.
I was right in my suspicions. I don't know what I was expecting, but I really got not more than a couple of new tools that I could use.
The rest was known to me. That might be just a sign that I must be doing something well at last, eh?
Building LOB with WPF 3.5 and Silverlight 2
Again I chose Silverlight against BDD (I am not that interested on this, but I was giving away the chance to attend yet another presentation of "The Igloo Coder") or new things in Visual Studio 2008 in regards to ASP.NET (main working area). I expected they could explain how you can use SL in a "serious", Line Of Business applications, away from "marketing applications" like image-zooming applications (Hard Rock memorabilia). Fact is I went out from the session no wiser on the subject. And let me explain it.
The speaker was very, very good. Passionate, a lot of experience on WPF, cool tricks and a way of working slightly different from what I saw in the Pre-Conference (more of a "Visual Studio monkey" like myself instead of a "Blend-er fellow").
I learnt a lot, but not from what I expected. No mention whatsoever to SL but to point that it's young, and beta, and version 1 (even if it's 2) and is a subset of the real, cool thing. The session was "just" plain "old" WPF.
It would be great if we could do the same tricks or re-use assets from one platform for the other. But, to my knowledge, WPF and SL are different enough for being better off targeting one or the other and do not bother with reusability for the moment.
Anyway, lots of information, very nice speaker that I will be following closer if I ever have to do any WPF.
Advanced Entity Framework: EDM in the Enterprise
Ok, I was waiting for this one. I had curiosity for EF and the opinions reverted on it the previous day made my curiosity even bigger. And the session did not disappoint at all (at least not me). As a matter of fact, it's been one of the best sessions of the conference.
Julia did a awesome job on explaining concepts to an audience that wasn't probably as advanced as they should have been to attend such an advanced session (more than half of us did not go to the introductory session). She is scarily smart and very, very communicative, even we had touches of intelligent humor. What else can you ask from a speaker? She got my 10.
I had a great time and the best thing is that the speaker explained a lot of useful information that is (or at least she claims so and I, for one, believe her) not easily discoverable. She was aware of last-minute breaking changes on the EF and she changed the presentation because of those. She was not afraid to tell what's is utterly flawed in an "Enterprise Framework" and what are minor annoyances, but did all these in a constructive way, offering real solutions that can be used (too bad the examples were in a language that makes my eyes cry -VB-)
I wanted the session to go on for a couple of hours more, that interesting was. But I had an appointment with another one of my "heroes" for the next couple of sessions.
Generics. They're not just about collections
This decision to attend was probably one of the hardest, as this session was at the same time slot as a session on "Strategic Domain Driven Design" (but I had the impression it was going to be not that technical but more in the Eric Evans book's style and I had another session on the subject coming soon) and "Advanced Uses of ORMs". But I had had access to the content of this session before and I could not make heads or tails from it, as it is code-driven, so I followed my basic instincts and I went for it.
And it was fine. Not that I learnt a whole lot about generics. Truth is, you can't do millions of tricks with them and I had used them extensively as soon as I had the chance. As a matter of fact I have a pretty cool post in the pipeline that makes extensive use of generics, just keep an eye on here.
But I learnt a lot about JP's way of thinking. And it better be his way of thinking, otherwise he suffers from serious loquacity illness :-p
And I learn a lot on how to make Specification pattern work for your designs effectively. And how the poorly understood yield keyword can help with deferred execution in mapping scenarios.
Pretty cool session, but we run a bit out of time, making last part of a bit rushed. A pity.
Domain-Driven-Design By Example.
Ok, this was a my more looked forward session of them all. The kind of session that would make attending a whole conference worthy. I am a fan of DDD and I am a fan of JP.
What can be the result of such a combination, spiked with self-excitement? You guessed right. Little disappointment.
Not because the speaker did a poor job (it wasn't the best ever, either), but because the subject is huge enough for not getting its surface even deeply scratched in 1½ hours.
Besides, the speaker has to be careful with what he promises at the beginning of the session. Because if the audience doesn't get it, they can be left with a somewhat bad taste in their mouths. And 1½ hours is not enough to explain the concepts, develop the samples pairing with someone from the attendees and leave the design open to suggestions. It is certainly not enough. He would have been better off doing his stuff, explaining why is he taking those directions and why other directions could lead him to rabbit holes, and having a more complete and correct example of the subject. But that is my opinion.
Again I learn some cool tricks on how IQueryable<> can be your closest friend with Repository pattern and the spice of chaining extension methods in the name of readability is makes desirable the new language features.
I did not finish the day with the smile of a kid that had just ridden the world meanest roller coaster next to his big brother, being rewarded with a sight of the bully puking his guts out.
But I was more than mildly content, that's for sure.