Dev Jam 2006 – Day 2

One of the things I like best about Dev Jam is how quickly ideas can spread. It’s almost viral. Having a bunch of smart people in a room simply creates a dynamic environment for creativity.

However, one thing I’ve learned while working on OpenNMS is that it is very easy to become insulated, and the environment that is so creative can become stale without the injection of new ideas from the outside.

OpenNMS is a “enterprise-grade” tool, and to us the term is not just for marketing. We aim to become the most flexible and scalable product out there – open source or not. For OpenNMS 2.0 we require some way to both ease integration as well as distribute various functions. To do this we are going to use the Spring framework.

Rather than try to do this on our own, we decided to hire Ben Hale, from Interface21, to come to Dev Jam and teach us about Spring. The name Interface21 comes from a book by Rod Johnson which was the basis for Spring. The book describes “21 Interfaces”, hence the name.

Interface21 is to Spring as The OpenNMS Group is to OpenNMS, and so I am really happy that we can support them and work together (not only are we producers of commercial open source services, we’re users of commercial open source services).

Spring is many things, but at its heart is a lightweight framework that let’s you take Plain Old Java Objects (POJOs), reuse and distribute them without having to write a lot of communication code. We have grand plans for the webUI and distributed pollers that can really take advantage of Spring. It’s obvious that Ben loves Spring as much as we love OpenNMS, so it’s a lot of fun having him around, although when I tried to cram 4 days of training into 2 hours, it was pretty daunting.

Dev Jam 2006 – Day One (cont)

I was pretty much amazed at how well Day One went. Some of us were still up at 1am. I managed to get almost all of the pre-maven-branch merged into trunk (don’t use the pre-maven-branch anymore), Johan is almost finished with the outage “snooze” feature, and now everyone is able to build and run using Maven.

Dev Jam 2006 – Day One

We got started at 9am today, right after most of us enjoyed a rather nice breakfast in the cafeteria next to the dorm.

I kicked it off with a welcome and a short history of OpenNMS and of Dev Jam. I was also happy to announce that effective 1 August DJ Gregor, longtime OpenNMS contributor and Order of the Green Polo member, will join The OpenNMS Group as the Vice President of Engineering. I strongly believe in offering opportunities to members of the community as they arise, and we’re very excited to have DJ working on OpenNMS full time.

The stage was then turned over to Matt Brozowski, the main OpenNMS architect, as he explained the changes to the OpenNMS code that have been made recently. This includes using the Maven2 build environment, DAOs and the Spring framework (we’re having a guy from Interface21 here tomorrow).

We then worked hard to max out the available bandwidth building OpenNMS “trunk”.

Lunch was graciously provided by Papa John’s Pizza.

Dev Jam 2006 – Day Zero

Last year’s OpenNMS developer’s conference featured 8 people from two countries. This year we have almost 20 people from three countries, and we had to move from most people sleeping at my house to the campus of the University of Minnesota (Twin Cities).

We had a few requirements for a Dev Jam location:

1) We needed a conference room or two for sessions.

2) Broadband. Lots of broadband.

3) Lodging had to be within walking distance. We have such a wide variety of sleeping schedules, ages, etc. that the ability to easily take a nap was something we learned from the first conference as a necessity.

4) Food needed to be within walking distance. While stocked with plenty of healthy snacks and beverages (cough), including a case of Red Bull we figured that it would still be best if folks could walk to a real restaurant/Starbucks as needed.

5) It needed to be near a major airport.

6) Cost is always a factor, as the conference is heavily subsidized by The OpenNMS Group.

Continue reading