The one session of the day I intended was Elliott Sprehn's "Internals of the Adobe CF Server" which was absolutely incredible! Elliott clearly has far too much time on his hands and has done some amazing detective work to learn about many of the core classes inside the ColdFusion runtime and how to use them.
He explained in some depth how several CFML code constructs actually work at the Java layer and how to do some very cool things with them. One example was passing your own "local scope" into a function call and then using it to examine what local (var scope) variables were set inside the function after the call. He also showed how to invoke most CF tags from CFScript so that, for example, you could throw a custom exception (by creating an instance of the ThrowTag, setting some properties and then calling doStartTag() on it).
Make sure you download his slides and code once they become available.
For me, this was the most interesting talk of the conference so far.
So, again, a day short on sessions but ultimately rich in networking and developer discussions. Next, dinner, drinks and maybe an interview for the CFConversations podcast.
One thing that I got out of it at more the normal Cold Fusion Developer standpoint, as opposed to someone who has the time to go to the in-depth snooping, is to really look at the runtime dumps of the errors and see what classes are displayed. Too often, I overlook this piece of the evidence. I also liked Elliot's point on how helpful Google is in documentation of our products, and we often don't realize it.
The one thing Adobe has not provided is a good performance comparison of running CF on Windows vs. Mac vs. Linux/Solaris on 64-bit hardware. Manju said that they prefer to do apples to apples conversions, but I'd think if they strove to use the same (or very similar) hardware for the various OSes in the test, the results would be valid, and very useful for the CF community.


