I attended Devscovery this week and enjoyed it considerably. While some of the sessions were a little too basic for my liking, I understand that conferences have to achieve a balance to appeal to a broad range of attendees. A few sessions of author and Microsoft insider (but not employee of Microsoft!) Jeffrey Richter helped to satiate my need for advanced .Net content.
Since Devscovery is coming to Texas, Georgia, and Washington state later this year, I thought I'd summarize my experience:
KeyNote: Jeff Prosise demos some ASP.Net vulnerabilities in DevDays style (he wrote the DevDays curriculum as I understand it); Prosise is the most smooth, professional, and collected technical speaker I have ever seen.
Day 1 Session 1: I chose Jeffery Richter's Garbage Collection talk to start out; it shared a lot with his book on the .Net Framework, but his book is very good so this was a good session on the low-level workings on GC. Jeff Richter is kinda' smart. Favorite quote: “I'm starting to tear up, this GC is so beautiful.“
Day 1 Session 2: I stuck with Richter for his Delegates and Events talk; the other sessions sounded less advanced. Richter talked about performance and the event plumbing in .Net. Favorite quote: “IL is always the truth!”
Day 1 Session 3: Sticking with the advanced .Net theme, I sat in on Richter's .Net Threading talk to close out the day. I don't know if Richter was tired by that point, but he got pretty feisty when speaking about the .Net thread synchronization implementations. Favorite quote [censored for any young readers]: “The .Net team did a phenomenal job on the asynchronous programming model . . . but polling is the anti-christ; callbacks are the way to go.”
Day 2 Session 1: I decided I should see another speaker and went to Jeff Prosise's Custom HTTP Handlers talk (although I heard from guys like Darrell Norton that Richter did a nice exception handling talk opposite the session I chose). Again, Prosise's talks are almost too professional -- you'd think only a computer simulation could be so calm and well spoken. I don't have a favorite quote for this one, but seeing the undocumented features for ashx versus aspx was very informative and I can go back and squeeze an approx. 10% performance improvement as a result of this session.
Day 2 Session 2: I went with John Robbins' Performance Tips talk. Robbins' speaks with a lot of energy and, while not as polished at Prosise, has a more human ring to it. I liked this talk a lot because he provides guidelines for the CLR Profiler and helps wade through all the noise that the Profiler can generate. Bottom line (and favorite quote): “If you're serious about monitoring .Net performance, evaluate your garbage collections!“ I also liked: “A clever UI is the cheapest way to improve performance.”
Day 2 Session 3: The Day 2 afternoon sessions didn't jump out at me as much, so I figured I'd explore something I knew nothing about and sat in on Robbins' Tablet PC development talk. This was eye-opening and the whole “ink“ thing is very cool; too bad we don't have a customer with an ink-enabled requirement! Devscovery gave out a free Tablet PC, but I didn't win it.
Day 2 Session 4: Again, the other sessions sounded less interesting to me, so I attended John Robbins' VS Whidbey talk and saw the cool editor and environment enhancements coming our way. It sounds like VB developers get the short end of the stick, by the way.
Day 2 Evening: After a free showing of the LadyKillers at the conference (and lots of free popcorn), we had a WeProgram.Netters dinner that night, and were fortunate to be joined by the whole Wintellect crew at the conference. I wish we would have chosen a quieter place for dinner, though, since the Rock Bottom Brewery was packed with rowdy DC folks. A waiter spilled a beer on my WeProgram.Net shirt, so I ended up wearing some cheesy free t-shirt from the restaurant. Readers will be more interested to know that, in talking with Jeffrey Richter, I learned he does magic tricks in his “spare“ time and that there are only about 4 people who work full time on the VB and C# compilers (that doesn't include VS.Net etc, just the compilers). Oh yeah, and Richter's got a 2nd edition of his book nearly finished . . . in his head. Seriously. Maybe I should be a stock broker . . .
No discussion of Day 2's dinner would be accurate without mentioning Darrell Norton's outing me to the Wintellect group. Some of us WeProgram.Netters had been joking how I have a nerd crush on John Robbins -- I think his energy and insight are really outstanding (plus, he used to be a green beret). Well, Darrell decided this was the right evening to share that fact with John Robbins et. al. In my defense, when you work at a smallish company like I do and are a big fish in a small pond, it's cool to find a bigger fish who can broaden your perspective. Anyway, my nerd crush has now become a running joke. Wonderful. Maybe I should be a stock broker . . .
Day 3 Session 1: I attended Peter DeBetta's talk on ASP.Net paging. I think a whole session on this topic was a bit too much, although it does culminate in a creative way to solve the paging problem. This was one of those “In Whidbey and Yukon this all goes away“ sort of talks.
Day 3 Session 2: I stuck with DeBetta for his advanced T-SQL talk, and it was much better than his earlier one. He is clearly a database guy and excels in that department. His stuff on Tree Methodologies is excellent and I wish we could've heard a whole talk just on that. Favorite Quote: “Data is not colorful.“
Day 3 Session 3: I sat in on John Robbins' .Net Tools talk and saw the suite of tools he uses to write .Net code. Since he's the Bugslayer from MDSN, there's a lot of good info here on ways to automate the verification and testing of your code -- including an FxCop add-in that monitors for excessive IL boxing operations. This talk exceeded my expectations and will provide a good head start on our tools review section at www.WeProgram.Net.
Day 3 Session 4: The conference was winding down at this point, so attendance was lighter; I forged ahead and heard Peter DeBetta's talk on Yukon and what's coming up. Suffice it to say that Yukon will dramatically change .Net app development and I wonder what companies who support multiple database back-ends for their products (like we do at my company) will do. Close coupling of your database with your app logic will become much more attractive once Yukon hits the market.
All in all, Devscovery was quite a bargain at under $1,000! The Wintellect folks are very knowledgeable and so accessible that I would recommend the conference to anyone. I think every session ran over with questions and the whole thing was run very well. My main regret was not having enough time to meet and talk with the other attendees (partly due to the constant voicemails I was responding to from my office . . . grrr!) . . . but maybe the conference could have a more formal time set aside for this.
Happy .Netting!