RSS RSS feed | Atom Atom feed

NoFluffJustStuff Gateway Java Symposium - Day 1

For the second year in a row, I have been fortunate enough for my company to spring for admission to the NoFluffJustStuff Gateway Java Symposium. Well today was the first day of the 3 day conference. Registration began at noon and the introduction started at 1pm. The day was comprised of 3 seminars, dinner, and finally the expert panel discussion where the panel answered questions from the audience. The thing that I really like about these kinds of conference's is the close interaction with the speakers. One thing that I was a bit disappointed with was the fact that there was no keynote address like last year. Dave Thomas was the keynote presenter last year and did a fantastic job. Oh well, maybe next year. Below, i've listed the presentations that I attended and my thoughts on them.

Decoupling Patterns - untangling that knot of code (Dave Thomas)
This was probably the most frightening presentation that I've seen to date. It's like Dave has been working on my team for the past three years. In detail, Dave described situations that my team faces on a weekly basis. He also touched on several key indicators that your code might be becoming too coupled and ways to remedy the situation. In a nutshell, he recommended package level visibility to across the board with one or more facade's into the package. This seems like a reasonable approach and was fairly straight forward. The thing he didn't spend much time on was the return type's or objects from the facade. This is the part that I have always struggled with. If package a depends on package b, what package should the shared objects(return types and parameters) belong to? This seems quite easy if they are domain objects, but 95% of the time this is not the case. In the past i've come to the conclusion that duplication of code(i.e. data classes not business logic) may sometimes be a good idea if it makes dependency management easier. All in all, this presentation was everything I expected it to be.

Advanced Version Control with CVS (Dave Thomas)
To start off, this presentation wasn't quite as "Advanced" as I would have liked it to be. It dealt with more of the day to day operations that a configuration manager would deal with. I did learn a few tricks along the way though. The merging of changes between two tags into head was something I didn't know about and seemed very useful. I have every confidence that I could have went to the resident CM guy at work(not by choice) and he would have guided me in the right direction. The things I wanted to learn about were advanced ways to hook code formatters up cvs so all commits were formatted appropriately. I have been an end user in the past were this happened but I don't have the foggiest idea how to set it up. I would have also liked to learn more about the various triggers that can be set up when commits occur. To make a long story short, the pieces that I hoped for would not have applied to most CM processes. They are unique things that Im interested in. Obviously, Dave's talk wasn't catered to me :)
Dave, as always, was a tremendous speaker keeping the attendees attentive at all times. I really enjoy the injection of his British humor in each and every facet of technology.

Classloading in Java: Building Dynamic Systems without pain (Stuart Halloway)
I missed Stuart's presentations last year so I didn't really know what to expect. He started off with, "This isn't one of the cool new topics or buzzwords that most people came to hear about. Classloading hasn't drastically changed since the Java 1.2 days....". His witt was just as entertaining as the topic he was covering. With that being said, this presentation alone will likely save me hours and hours debugging classloader issues that were somewhat foreign to me in the past. Like most Java guys I understood what a classloader did, the hierarchy of classloaders, heck I even screwed up my own classpath a time or two. The things that I hadn't thought about or read about were the gems here. Learning the differences between implicit classloading, explicit classloading, and mixing the two was invaluable. The best part was that he wrote code on the fly to demonstrate both. I learn best using these hello world typle applications as building blocks and then expanding on them. I will try and attend more of his presentations throughout the weekend.

Expert Panel
David Geary, Mike Clark, Stuart Halloway, Dave Thomas, Erik Hatcher
The expert panel was pretty good. Topics discussed included off shoring, next new big thing, thoughts on JDK 1.5, JavaServerFaces, and dynamically typed languages. All in all, the discussions were good. Audience participation wasn't the best, but that might have had to do with the fact that is was 8:00pm on a Friday night. Maybe tomorrow's will be different, who knows.