Saturday, April 05, 2008

Devscovery April 2008 Conference Summary

I attended the Devscovery Conference last week. Overall, it was a good conference and I recommend attending it in the future. I think it is one of the best value-for-the-money conferences.

Scott Hanselman kicked off the conference with a discussion on ASP.NET 3.5 Extensions. Usually Scott's presentations are very good, but I walked out of this one somewhat disappointed. He started off by asking a couple of "How many of you use X?" questions. I don't remember what he said, but he made some comment that came across to me as the attendees were a bunch of dopes. This completely shut down the audience participation which in turn threw off Scott because he likes to engage the audience. Also, I thought Scott's material was a bit dated.

There really wasn't anything that excited me for the first session so I sat in the "Translating Architectures to Technologies" presentation by Roger Dahlman. This was supposed to be about design patterns and .NET. This presentation was horrible. Dahlman was a very poor speaker, his slides were littered with spelling mistakes, and he came across as not knowing design patterns at all. I got nothing of value from this presentation. At this point I was starting to think that I wasted my money and time attending this conference.

The second session was "C# 3.0" by Jeffrey Richter. Since I feel like I have a pretty good grasp of C# 3.0 I was expecting to maybe get a couple pearls of wisdom out of this presentation. I really liked this presentation. Jeffrey told a nice story about all of the C# 3.0 features that concluded with why all of the new features were necessary to enable LINQ. That was fine, but I knew that already. What I didn't know was that this presentation provided the foundation for the next day's threading presentation.

The third session was "Performance of Every Day Things" by Jeffrey Richter. This was an excellent presentation about how different .NET programming constructs and techniques can affect performance. I already knew most of what he presented, but there were a couple of new things that I learned about measurement that I will use immediately.

On day two I attended the "Day of Threading" presentation by Jeffrey Richter. This was four sessions on threading. I was expecting this presentation to be a refresher for much of what I already knew about threading. I was pleasantly surprised when it wasn't. Jeffrey spent most of the day discussing the Asynchronous Programming Model (APM) that he wrote about in CLR via C#, Chapter 23 and the MSDN Magazine March 2007 and November 2007 issues. One of the issues that he discussed was how difficult the APM was for most developers to use. During the presentation he knocked down the obstacles to using the APM. By leveraging the new features in C# 3.0 he greatly simplified the APM. Throughout the day he ran a number of tests to measure the performance of different threading techniques. His final implementation provided substantially better performance, lower resource utilization, and lower code complexity. He said to expect another MSDN article in the June 2008 timeframe that completes the discussion on APM. He mentioned that the Microsoft Robotics team tried to prevent this article from being published because it provides a vastly superior solution to the Concurrency and Coordination Runtime (CCR). Also, he mentioned a couple of teams in Microsoft that are using APM and are seeing major improvements in scalability. Some of the tests that he ran showed the scalability improvements and they were substantial. I didn't fully appreciate the APM, but I have the religion now. This will play a major role in my development from now on.

The first session on day three was "The Microsoft AJAX Library" by Jeff Prosise. This presentation focused on the client side entirely. He said that he presented the server side of AJAX the previous day. He did a good job presenting the internals of Microsoft's AJAX libraries and discussed how to extend/modify them.

The next three sessions by Jeff Prosise were on Silverlight, "Building Great Applications with Silverlight 1.0", "Building Great Applications with Silverlight 2.0", and "Silverlight Tips, Tricks & Best Practices". All of these presentations were good. I was a little leery about sitting through a presentation on Silverlight 1.0, but Jeff did a good job on focusing on the features that remained in 2.0. Jeff provided lots of sample code that will be helpful in further use of Silverlight.

I was a little disappointed that I couldn't attend any of John Robbins' sessions, but since I did a day of training with him back in December 2007 it wasn't a big deal. I didn't attend any of the non-Wintellect sessions since they seemed to be more focused on the mechanics of basic things. I would have been OK if Wintellect didn't co-host with Infragistics. I think the audiences that both attract are completely different.


Post a Comment

<< Home