Sorry about not being able to write on the next day - as I was doing for the first 2 days. Reasons:
Anyway, here is the summary of the last 2 days:
I attended the following talks/BOFs:
Gilad Bracha talked about invokedynamic and how that could be useful when compiling dynamically typed languages to JVM bytecodes. The terminology "dynamic languages" is wrong ("With statically typed languages everything is static so that nothing moves?" - as usual Gilad spoke well!). "dynamically typed languages" is the correct way of speaking.
Summary: JVM's invoke instructions [invokeinterface (calling interface methods), invokestatic (call static methods), invokespecial (used to call private methods, constructors), invokevirtual (invoke any other method)] require method signature and target class (or interface) to be specified. But, when operating with dynamic types, you would know what types are to be used. invokedynamic would accept such "typeless" method spec. (just method name) and search appropriate method at each invocation. When matching method is not found a user specified handler will be called -- which can receive some reflective parameter to specify callsite and method called. Also, in the context of the JSR 292 more flexible hotswap will be investigated (for dynamically typed languages).
Nice talk that summarized important anti-patterns to watch out while writing secure code. One important example I liked: do not assume that after throwing exception from constructor (may be after checking for security) will make the object useless. The user can extend the class, define finalize() method and resurrect the partially constructed (unsecure) instance from there. And then, user code can call instance methods -- which assumed that security check has been done already by constructor. Solution is to check a flag in every sensitive instance method - the flag should be initialized by the constructor after security check is successful.
One minor comment about this talk : I had to sit in overflow room and the video quality was poor. Folks in overflow room couldn't see the speakers properly!
This is DTrace talk. I liked (and was amazed!) at the way Jarod Jenson was typing D-scripts and Adam followed him to explain the scripts!. This is one of the talks where you have to be physically present to fully appreciate/enjoy the talk (like the Click and Hack, the Type-It brothers talk).
The speaker explained that there are two ways to detect memory leaking:
The speaker explained how to use the object "age" (the number of garbage collections the object survived) to detect slow memory leaks. Nice talk.
I spoke in this BOF along with Alan Bateman and Kelly O'Hair. So, I should not be evaluating the talk
We had starting trouble in this talk - mostly due to my fault. I'm sorry
We covered the serviceability tools, in particular jhat in depth.
I could participate in only one talk in which I spoke - "scripting for the Java platform". Mike Grogan explained what JSR 223 is all about.
I covered the implementation aspects:
After the scripting talk, I had to run to the airport to catch my evening flight. I am back to Chennai. Still having jet lag and writing this blog at 11.30 PM