I returned last night from the Spring 2006 DevConnections conference in Orlando. It was my 4th time speaking at DevConnections, my 2nd at the Orlando site. The conference just keeps getting better and better - more attendees, great content and the fact that attendees come back to this conference means that there are more and more familiar friendly faces, as well as new people to meet. I did three sessions, which meant that once again, I didn't have much opportunity to attend all of the other phenomenal sessions, which is the big downside of speaking at conferences! But I love this conference. It is so friendly, the organizers are wonderful and everyone seems to be having a great time. The attendee party was a blast and the Tuesday afternoon lunch that gathered many of the women speakers and attendees so that we could meet and get a chance to really spend some time together was fantastic.
Even though I didn't get to attend talks, I still learned a lot. The most amazing event for me was during dinner when Michele Leroux Bustamante and Kathleen Dollard, who happen to be two of the smartest women I ever met, started hashing out ideas about code generation, code designers and how cool it would be to have some type of consistent metadata that would allow various (including future) code gen tools rebuild applications over and over leveraging whatever features exist for the targetted platform. (That is my best stab at what they were discussing.) The rest of us at dinner just sat there nearly with our mouths hanging open while those two just went on and on. Of course, since we were eating, we didn't really have our mouths hanging ajar.
So here are 7 things that I learned even though I didn't get to attend sessions.
ONE
I learned that this very cool way of defining a delegate in-line in C#
myStaticObj.OnSomeEvent += delegate(object sender, theEventArgs e) {
dothisto(myObj);
dothat;
};
that I was unable to reproduce and had to create a separate class for the static object and an event handler
Public Class MyProxy
Shared Function ProxyObj() As someObj
Static o As New someObj
Return o
End Function
Public Shared Sub MyEventHandlingMethod (ByVal sender As Object, ByVal e As theEventArgs)
Dim myObj As someObj= ProxyObj()
myObj.doSomething()
End Sub
End Class
is called an "Anonymous Delegate". I was talking with Juval Lowy about the hack I had to come up with to reproduce that cool in-line delegate and he said "oh! that's an anonymous delegate". He also made me realize that my solution wasn't a hack after all, since the anonymous delegates are a C# only feature my approach was in fact, the right way to achieve the same outcome in VB.
TWO
Though I haven't worked with the new ASP.NET 2.0 data source controls, I did know that SqlDataSource is the ticket for two-tier apps while the more hefty ObjectDataSource is great for multi-tier apps. But I learned from Dan Wahlin a little more about the plumbing that makes these controls work. The SqlDataSource streams data right from the database to the object that it is bound to while the ObjectDataSource uses reflection to create instances of the business objects that they are tied to. The performance hit that is required for the ObjectDataSource to do it's job is another good reason not to use that one in two-tier apps. Having heard that, I followed up by reading through the documentation on ObjectDataSource and SqlDataSource which can give you a lot of indepth insight on these controls.
THREE
I learned that Dan Wahlin's last name is pronounced like "wall-LEAN", not "wall-LYNN".
FOUR
I learned that in order for a VPC to communicate with it's host computer when you are NOT on a network, you need to use a loopback. Thanks to Dan Larson, one of the Sharepoint gurus on-hand, for this tip.
FIVE
I learned that Melatonin does not help put me to sleep. I also learned that a pair of Tylenol PMs not only helps me sleep like a log, but continues to keep me feeling drugged, dizzy and groggy for about another six hours after I wake up. Not good.
SIX
I learned that there were enough Sharepoint talks submitted for the Richmond Code Camp that the coordinators are considering adding a Sharepoint track. (And that there is a new SQL User Group in Roanoke, VA. )
SEVEN
I was happy to learn that Shy Cohen's name is not eponymous.
SEVEN
I learned why Florida is a great place to visit when you are having the winter doldrums.Here is a photo I took from the balcony of my room at the Grand Cypress where the spring DevConnections show has been hosted for a long time.