FISL 2009: Day 1... Open source as an attribute instead of an entity
The 10th edition of FISL, the "Forum Internacional Software Livre" started today in Porto Alegre, Brazil. Attracting attendees from all over South America, FISL is now at a point where it draws somewhere between 6000 and 8000 attendees every year. To me, in terms of look and feel, it seems to be seriously competing with JavaOne itself.
As anyone who has been to large software conferences such as JavaOne can imagine, thousands of developers getting together entails sessions, workshops, and endless milling around at company booths. What makes FISL different to any other software conference I have been to is its focus on free software, in other words, not a particular language or technology only, meaning that you find a FireFox booth in between Linux booths, with many local companies, as well as large multinationals such as Sun and Oracle (why is the latter there, one might wonder).
Another aspect of FISL is that the sessions are mostly in Portuguese. Unfortunately, my Portuguese is fairly limited (to put it mildly) and so the sessions I attended were some of the handful available in English. Below a brief summary of these, especially where they relate to Java (since this is Javalobby, after all) with a few highlights, followed by one or two other cool discoveries on the pavillion floor.
GlassFish and DTrace
Arun Gupta began the day with Creating quick and powerful web applications with MySQL, GlassFish, and NetBeans. Apart from the standard fare one might expect—code generation of complex applications, backed up by MySQL, and deployed to GlassFish—Arun did an extremely interesting demo of brand new GlassFish functionality: integration with DTrace.
Never before shown anywhere publicly outside of the recent JavaOne, Arun demoed the new experimental GlassFish v3 Monitoring probes, using the DTrace plugin in NetBeans IDE. He ran an application that performed badly, which he debugged via DTrace, first in the GlassFish web container, where he discovered that the database queries were not performant. With that knowledge, he was able to identify the problem being on the database layer, whereupon he used DTrace to examine MySQL, which is where the problem was then identified and fixed.
The finer grained probing enabled by DTrace in GlassFish is made possible by the lightweight monitoring framework created as part of GlassFish v3. Each container can fire events, such as when the container starts/stops or starts/stops processing queries. Then, depending on the application being run, DTrace monitoring can be enabled on demand. Finally, you would then create DTrace probes to query those events. And, since GlassFish is now extendable via OSGi, you could create a new extension to GlassFish for some other container (such as a Spring container) for which you would implement GlassFish Monitoring SPIs to integrate DTrace monitoring for your own container. Arun also mentioned a future whereby extensions to GlassFish could be created outside of Java, i.e., via Ruby or Groovy, though this is still in a very early development stage.
All this is set to be released with the final release of GlassFish v3, scheduled for September.
Next, I was at a very well attended session by Daniel Bernstein entitled The DNS Security Mess. It was so well attended that there was standing room only.
He talked on a number of technical aspects relating to DNS and DNSSEC. DNSSEC adds cryptographic protection to DNS. What I picked up from his talk is that 1024-bit RSA is secure against honest attackers only (e.g., academics), that one needs to transition to 2048-bit keys, and that DNSSEC has a number of problems (unreliable, insecure, hard to use).
However, what I did not learn was what the solutions to the DNS security mess might be.
Next, I attended an extremely enlightening talk on FireFox, entitled Mozilla Add-ons: Past, Present, and Future. FireFox, as it turns out, is extremely interested in developing an ecosystem for add-on developers!
The very inspiring talk by Nick Nguyen didn't turn out to be a technical presentation, but one about the Mozilla ecosystem: addons.mozilla.org (which was completely revamped in the last two weeks!). He pointed out that part of the web browsers of the future (such as pieces dealing with anti-fishing and private browsing) started as add-ons.
The aim of this aspect of FireFox is to widen the audience of potential developers, while making commercial components possible too. He addressed the add-on featured list as kingmakers. Nick also revealed 'JetPack', which is an approach to creating plugins for FireFox without requiring an advanced knowledge of the plugin infrastructure.
As someone who is very interested in community building, I find what FireFox is doing incredibly inspiring and just plain 'good'. My work on extending LoboBrowser some time ago should put me in good stead in being part of the FireFox developer community. What Nick Nguyen is doing for FireFox is immensely laudable. Isn't FireFox exactly what an open source project should be? Why not start contributing to it right now?
Hanging Out at the Booths
In the booths, one interesting demo worth seeing was that by Roger Brinkley and Terrence Barr. They were showing off some Java Mobile & Embedded stuff that made my eyes pop. Aside from Roger's integration between JavaFX and SunSPOTs (i.e., he was putting pieces of puzzles together via SunSPOT empowered gloves), there was the cool demo of a small vehicle empowered by SunSPOTs.
"But aren't SunSPOTs sensors only?" That's the question I asked Terrence Barr. "No," he replied. "They have a brain, in other words, they can execute application logic in Java. Plus, they have various types of sensors, such as those for detecting temperature, as well as having wireless connectivity. As a result, they can communicate amongst themselves, as well as with other environments, such as the desktop. Finally, they have the outputs that can drive external drivers, such as motors."
What makes SunSPOTs ideal for robotics is that they have I/O outputs that can drive current. You can directly attach motors, as well as other things that draw current. While digital electronics have digital outputs, which need external drivers to drive reasonable current, SunSPOTs have all you need in one package. You can write software to manage everything you need: input for sensors, which can directly drive electrical motors, and produce output from these inputs.
In a similar vein, Terrence Barr and Roger Brinkley showed off a cool glove embedded with SunSPOTs, enabling them to put pieces of a puzzle (in JavaFX!) together on their laptops. Cool, right? Sure, one might ask where that might be applied in the real world, but one needn't look far for practical applications of these cool technologies. (That's consistently something Sun has been good at: showing leadership in the goofy applications of new technologies, to inspire others to do something more practical with it. Come on, we all know that that's one of Sun's innovative roles in the technology sphere.)
In other words, robotics is an inherent promise of SunSPOTs! Since all that is involved is input, processing, and output (in some form), SunSPOTs has it all: no electronics need to be added around it, together with the fact that you have a high level language (Java) to program in (unlike some kind of weird assembly code)!
Meet and Greet.
I met a bunch of people, while walking around the booth area, a.k.a., the pavillion, in JavaOne terms. One of these was Edgar Silva, pictured with me on the left. He's one of the NetBeans Dream Team members! I've literally known him for years. He did a BOF about his GreenBox project at JavaOne in 2006.
Currently, he's working for RedHat and we spent some time catching up on times gone by. Edgar's feeling is that enthusiasm for NetBeans has dropped recently, in Brazil. I have a feeling that might have a lot to do with the ending of the NetBeans Evangelist team some years ago. That group (Brian, Roman, Tim, David, Gregg) did an incredible job in bringing the message of NetBeans out there into the broader world. Seriously, do one quick demo of the basic contents of NetBeans IDE and any observer will ask themself: "Wow. All that is for free? And without going through some complex treasure hunt for plugins as forced upon me by Eclipse?!"
Here's hoping Oracle is out there and listening to the real comments spoken by real users out there in the real world!
Meat, Meat, Meat. And Caipirinhas.
The evening was spent in what, I have been assured, is a typically Brazillian thing: getting loaded with meat by random waiters, while simultaneously getting loaded with caipirinhas by other waiters. To the left, you see open source guru Simon Phipps getting reloaded with his favorite strawberry caipirinhas, while seeming to demand better quality, or something.
And one of Simon Phipp's quotable quotes turned out to be: "Open source is an attribute, not an entity. Trying to monetize on 'open source' is like trying to monetize on 'redness'."
I thought that was a rather wonderful perspective and wrote it down as soon as I heard the words flow from his mouth. Unfortunately, aforementioned meat provision, accompanied by caipirinhas, resulted in my losing the slip of paper upon which I enscribed aforementioned statement. Nevertheless, I am sure Simon Phipps will endorse having made the remarks I ascribe to him here.
And that was my first day at FISL! Here's looking forward to day 2!