Thursday, May 08, 2008

JavaOne Day 3

It's Thursday and this has become the thing I do everyday: I go to Moscone Center, and try to find the difference between 134 and EP 107-110, and avoid shaved headed guys in sweatshirts, and shagged haired guys with glasses, and all of them with backpacks, very few looking where they're going.

Today, a couple of sessions already:

  • An AWESOME grails & groovy talk by Guillaime LaForge, about replacing Java EE patterns with things like metaprogramming, and coding by convention. The most awesome thing was showing how the dynamic finders are implemented in grails. An example, is on your domain object you call (without defining) findAllLikeByNameAndAge, and grails dynamically generates a finder implementation using Hibernate. His argument was that you can replace ServiceLocators and DAOs both by moving the persistence methods onto the "domain" objects where "they belong".

    This is an argument from Eric Evans' Domain Driven Design, and the only qualm I have with it in this case is that the model classes in grails aren't really domain objects per-se -- they're really proxies for the physical tables. This is a great model for simple applications, but in my own experience isn't a replacement for more complex applications in which the domain model diverges from the database.

    I'm probably over-simplifying and it's a great idea. In any case, it makes me want to dive head-on into grails in a way I was never tempted with ROR.

  • A dull, but necessary update on the servlet 3.0 early draft spec.

  • Right now I'm in a session on "building the semantic web". It's the first one with more than 2 presenters. It's a kind of a panel. Henry Story, from Sun, is talking right now. He has an address book with a lot of urls representing all this information about people (like name) as urls. Great! "my name is"

    He's mentioned that he was up until 4am last night.

    We such abruptly switched to a new speaker. He's talking about some social network site, This isn't going to be very technical. I can feel it in my water.

  • This guy from AllegroGraph just showed a great demo of a big database of connected people and being able to query on people by what he did with them. The categories included "shook hands with", "talked with", "kissed", "was intimate with". He created a graph showing a circle of "who i kissed with and was intimate with and who was intimate with other people who were intimate with me." Someone made a joke about "needing virus protection".

    I found it funny. I think I've gone native.

  • This "Turning WTF Code into a Learning Experience" by William Pugh from U.of Maryland is really good. Lots of great and frightening examples. Mentioning the classic static final DateFormat bug drove me to dive into work code and finding one in recent code. Jesus. Also led me to find many many instances of it in other people's code at work. Will have to report this...

    I'm glad I abandoned the ponderous Composite Application Patterns talk (basically horrible ERP stuff).

No comments: