Skip to content

Community One

Monday at JavaOne was not officially part of Java One. It was called Community One and was focused on all the community efforts that surround Sun and Java.

Opening Keynote

The opening keynote speech was given by Ian Murdock, the Vice President of Developer and Community Marketing at Sun. He detailed his experience with packaging software under the Debian linux distribution and how the it gave the community a way to distribute its software. Very subtle yet powerful realization--that developers need distribution, and those who provide it have a voice in the community. Ian introduced Rich Green, EVP of Software.

Rich gave another discussion about community and introduced Open Solaris (which was to be the star of the day). Rich and several other Sun presenters demonstrated the latest live CD build of Open Solaris, including the Grub boot loader, the 10-click installer, the Gnome desktop, and Mozilla Firefox. They bragged that all the hardware was recognized on most systems, and more systems (meaning chipsets, I'm sure) were being added each day.

Rich also demonstrated ZFS, the fault-tolerant file system that Sun developed. Great demo! They had a server on the stage with a collection of external drives. One of the ZFS developers took a running drive, placed it on a large anvil, and smashed it with a sledge hammer. Pieces went flying, and the server kept running. A second developer used a cordless drill to drill a hole through another running drive, and the system kept running. ZFS is one of the only file systems that can withstand the loss of two drives and keep running. They plugged in a replacement drive, added it as part of the ZFS cluster, and the system began rebuilding its contents. Very sweet.

Tracks

The event was organized into more than 80 sessions, each belonging to a track (like Next-Generation Web Applications, or NetBeans). I took an assortment of topics, each in a different track. Following are the sessions I attended.

Building a Web-Scale Open Source High-Performance Computing Stack

When scheduling this track, I thought it would be all about how to setup a high-volume web application. But instead it was about high-performance computing (HPC for short). The main topics included:

  • Open Solaris is the future of Solaris distributions
  • Nevada is the codename for the old OpenSolaris distribution, Indiana is the new codename for the new distro
  • Open Solaris supports multi-chi, multi-core, multi-thread systems now
  • DTrace. Use it for all kinds of advanced debugging
  • ZFS. Great file system. Too many features to list here
  • Zones. Part of Solaris 10.
  • Xen Hypervizor project
  • SAM QFS filesystem supports hundreds (soon thousands) of nodes, with petabytes of storage.
  • HPC Cluster tools 7.1 are partly open sourced. Support open MPI and integrates with Sun Grid Engine.
  • Grid Engine helps level out the utilization of servers, and make people's work more efficient. Also provides a distributed resource manager.

Johnathan Schwartz made a guest appearance in this session [^1], and stated that software (unlike hardware) is not growing at the pace of Moore's Law, with two exceptions:

  • Social Networking
  • High Performance Computing

Overall, a very good session.

Developing JavaFX Applications for the Enterprise

I'm not really sure what happened in this session. The presenter began by speaking about traditional Java EE applications, and showing slides that point out the web and EJB containers inside an app server. He went on to show some code that illustrates various kinds of EJBs (stateful, session, etc...) and annotations for web services. At this point, at least half the people in the room were looking at their schedule booklet to see if they were in the right room.

The presenter eventually transitioned over to JavaFX, but by then the audience was confused. I think there were 3 problems with this presentation:

  • the presenter didn't explain the structure of the presentation before he started
  • he never explained why he spent 15-20 minutes discussion regular web architectures
  • he wasn't a good presenter in the first place

My coworker and I left the session feeling that we could learn the subject more easily from the JavaFX website.

Subversion 1.5: Great New Functionality for Developers

Fantastic presentation given by Collab.net. The presentation assumed that you're already an SVN user and know what you're doing. Definitely not an intro class. Essentially, Collab.net is releasing Subversion 1.5 It contains the following changes/enhancements:

  • merge tracking
  • interactive conflict resolution
  • sparse checkouts
  • change lists
    • lets you work on multiple problems in source code, and tag your changes separately so they can be submitted as separate updates.
  • webdave-transparent write-thru proxies (i.e. reads can be done locally while writes can be passed thru to a remote server)
  • SASL authentication support
  • branch re-integration
  • auditing with
  • traceability with svn log or svn blame
  • svn synchronization for 2 or more servers
  • supports apache 2.2 with mod_proxy
  • "peg" revisions
  • copies (i.e. svn mkdir src; svn cp *.c *.sh src)
  • externals (references to resources that are outside of the current source location

OpenSourcing Music: A Discussion of Applications for Creating & Managing Music

This was a really interesting subject, but definitely not work-related. Essentially, JFugue is a project that sits on top of the Java media system and makes dealing with it simple. JFrets is a consumer of the JFuture project. Very easy syntax. Good presentations, mixed with good advice:

  • Midi output is preferred because it is computed (as opposed to WAV or MP3, which are sampled)
  • motto: GTDTW = get the da## thing working.
    • architecture first
    • work on 1 area at a time
    • stub the app
    • dont worry about beauty
    • define the target OS's
    • choose an audience
    • keep features on a to-do-list
  • supports individual notes (melody) or compound notes (chords, or rhythm)
  • stick with a simple website
  • communicate clearly

There is a JFugure ebook available from the website for $25.

GlassFish Community Lightning Talks

This session contained eight 5-minute talks. Each was short and to the point. Case studies.

  1. Glassfire - a home control project. Specific example was controlling devices that allow you to heat/cool your home.
  2. Wonderworld - a communication and collaboration system
  3. IzPack - a cross-platform installer
  4. Terracotta - Virtualization in reverse. Take multiple PC's and make them operate as a single large one, sharing memory, disk, and ram.
  5. Sailfin is a Sip/Telco convergence tool. Essentially a SIP communication manager. Not the underlying implmentation like Asterisk, but the presence control layers.
  6. RTL - an online radio system in france. Use case: have used GlassFish since beta. No crashes in production. Great reliability. 6+ million visitors/month. 170 million pages/month. 30,000 simultaneous connections via http or comet(?)
  7. Hudson - a continuous integration server with a web interface. Runnable as CLI, JWS, or web. used in the glassfish build process and netbeans build process. Puts more computers to work for people.
  8. Embedded glassfish project. - GFv3 as 1 jar file. API to srart/stop/config/deploy. Supports "scattered" web deployment. No war/ear--just config GF and go. Same container from Dev to deployment. Is a full EE container. Uses grails to talk to ee server.

Netbeans IDE Lightning Talks: Cool Stuff & More

This session was hosted by James Gosling. Actually, I was a bit disappointed in the session. Given the title, I was expecting some...ehem...cool stuff. Instead, I heard 2 authors pitch their books (Pro Netbeans IDE 6 and Delivering SOA using the Java Enterprise Edition Platform), and a handful of companies pitch their products.

Of note were two product offerings:

  • dotFX has a very simple way to split any java program into client and server pieces. This is reminiscent of the C-style RPC days, but the elegance of the FX approach is refreshing.
  • Intellium has a model-driven development approach, including a Netbeans IDE plugin for model creation using UML. Their model is "the model is the executable". My team and I wondered how hard it would be to get into the nitty gritty details we would need, since almost all applications outgrow the code generated that gave them life.

Swag

Swag from Day 0 You could say that I brought home my fair share of swag from the event today. Here's a low-res photo (from the 1.3 megapixel camera on my cell phone) of the items I've acquired so far. Plenty of CDs, materials, rubber wrist bands for my kids, 3 t-shirts, 4 mouse pads, 2 carry-all bags, a backpack, and plenty of docs and stickers. Granted, some of the materials are related to JavaOne instead of Community One, and some is available for general pick-up by anyone (i.e. Linux Journal magaines), but still my loot bag is pretty happy right now.

Open Solaris Demo

I was pretty pumped about my new Open Solaris CD, so I inserted it into my CD drive and rebooted my laptop. I selected the default option on the GRUB boot loader menu, and answered a couple of questions about my keyboard layout and language of choice, and my Solaris desktop was booted and running in about 3 minutes. Everything was detected--video card, mouse, sound card, USB ports, processor, ethernet chipset, etc. Pretty impressive!! I plugged in my USB thumb drive and it was autodetected. So I used Solaris' built-in screen grab tool to take this screenshot. Here you see me viewing the JavaOne web page with Firefox and talking to my friend Wayne using Pidgin (my favorite multi-protocol IM client).

[^1] maybe because HPC is one of the high-profile market segments that Sun is investing in