Sunday, November 06, 2005

Dude, Where's My Blog?

There's a kind of discipline needed to blog. You have to believe that someone is going to read it, or, at the very least, believe that you owe it to yourself to put in entries. Things have been relatively hectic the last few weeks, so I haven't written much lately.

Let me try to redress some of that.

Last weekend, I went to the Northern Virginia Software Symposium. They were part of the No Fluff, Just Stuff tour, where speakers talk about the state of the art in Java. The conference is geared toward those doing enterprise Java development, which, to me, represents server technologies which includes some interaction with users and databases.

Although that's not the kind of Java programming I do at work, it is a useful gauge of where the industry is, or, better still, where the industry will be heading. Given the rapid changes in the software industry, conferences such as this give attendees some bearing, as they decide what they need to learn, to keep up.

In some ways, I don't like this kind of industry. An academic computer scientist would claim that what the industry does now is faddish. And it really is. How people write code to do what they do now will change in a few years. It's not that things are getting better and better, really. It's that the original solutions were so bad.

And it's not that they intentionally started off bad, but that they had no idea, when they started off, how much work it would take to write these enterprise applications, and how inefficient it would be. Often, when you design something, you want others to be able to decide how to use it. Thus, there is a lot of ways to configure the system. A lot of work is required to get the configuration to match your setup.

The lesson is that flexibility implies complexity. If the computers used by everyone was exactly the same. Same software, same location of software, same everything, then it would be easy. But everyone has something slightly different and want to set up stuff in different ways.

Anyway, ever since J2EE came out, and ever since people decided it was something of a headache, people have been trying to find other simpler ways to write software for servers.

The conference is set up in 11 sessions. Friday had three sessions, plus a keynote. Saturday and Sunday had four sessions each. Each session has six speakers in six separate rooms. The problem is deciding which session to attend.

My first thought was to attend some sessions on Ruby. Ruby isn't Java, but since Java appeals to the open-source community (although Java isn't open source), and in particular, since it isn't Microsoft, there's demand for Ruby talks.

Now, I heard of something called Ruby on Rails. This is a framework to develop web applications using Ruby throughout. Ruby is a language like Perl, but is object-oriented. Ruby, the language, was developed by a guy named Yukihiro Matsumoto, of Japan, who goes by the nickname, Matz.

Although I had expected some discussion about Ruby and Ruby on Rails, what I did not expect was that Ruby on Rails would be so incredibly popular. Dave Thomas, who is an entertaining speaker from England, recently co-authored a book on Ruby on Rails. He gave five entertaining talks, four of which were on Ruby.

The other talks were on Spring, Hibernate, Ajax, some stuff with graphics. Although I attended 11 talks, I heard only four speakers. I went to five talks from Dave Thomas. I went to two talks with Jared Richardson. I went to half a talk with Venkat Subramaniam. I went to one talk by Paul Duvall on Cruise Control. I went to two talks by Scott Davis.

Of the speakers, Dave Thomas was the best. He's funny and teaches well. Two things you want in a good presentation. Jared Richardson was good at presentation, but I felt his content was a little light. He also seemed to be plugging the company he worked at (before I came, we were a disaster---even if this was true, it sounds like bragging). Paul Duvall was OK, if a little bland. I should have attended a few more talks by Venkat, who is hyper. He talks fast, though I could follow him.

Venkat is also an amazing thrower. He would throw out candy to people in the room, and get very close to where they were, even if they sat more than five rows back.

Scott Davis was also quite good. He has this infectious smile and seems real happy all the time. I sat in a presentation about playing with various map services (via Yahoo Maps or Google maps) and then gave another talk on how to do XP (extreme programming) for one person.

From the entire symposium, I got a better feel for trends in Java. In particular, AJAX and Ruby on Rails seem like the hot subjects of the day, and it was suggested people spend some time learning how they work. Other topics of interest were Spring and Hibernate, something called RESTful services. There was a trend to lightweight solutions on the server, as opposed to the heavyweight solutions currently in place.

Although we don't do this kind of programming at my work, it was a good view into where the industry is headed, plus, since these speakers are selected by their entertainment and education value, many of them were quite good.

While I grumbled about giving up my weekend, I think it was still worth it. I only wish I could have caught a few more talks.

No comments: