Java Spotlight 5

[music]
Roger Brinkley: Welcome to the fifth edition of the Java Spotlight Podcast. I'm Roger Brinkley.
Terrence Barr: And I'm Terrence Barr.
Roger: And in this edition of the podcast we'll do a new segment We'll do a feature interview with Fabiane Nardon and Bruno Souza who are Java Champions from Brazil talking about what's coming up with Java One Brazil. And we'll finish up with the "What's Cool" section. And this week our Java All-Star Panel is Alexis Moussine-Pouchkine and Dalibor Topic.

So, Alexis, you were at Devoxx this last week, so why don't you give us an update on what happened there.

Alexis Moussine-Pouchkine: Yeah, sure. This was a very busy week, sold out event, 3,000 developers, great vibe, chocolates are great, the diamonds are forever. We had a good time. On my side of the house I focused mostly on Java EE. I gave a tutorial with Antonia Goncalves, so that's a three-hour session. I think we had 500 people in the room, something like that, the big cinema, so this was quite impressive. We had a hands-on lab.

There were sessions on HK2, so that kernel, that's part of GlassFish and WebLogic now. So Jerome Dochez, the architect of GlassFish was covering that.

One of the keynotes was on Java EE 7, and I think Dalibor will talk about the JavaSE one, but the E7 was clearly on the future on how cloud modularity, better management, and better state and resource management are things that need still to be added to the platform and that are most likely coming up as part of E7.

You know while Java E7 is standardization and people can think it's kind of far away, we don't need to wait for innovation, it can happen at the implementation level.

So Jerome, again the architect for GlassFish, did a really cool demo of GlassFish virtualization and provisioning where on the [indecipherable 0:01:50.6] , he would actually use GlassFish commands to provision juice images, so just enough [indecipherable 0:01:56.2], and just enough bits to run GlassFish instances as part of a cluster. So I thought that was pretty nice.

Lots of Java EE content. JBoss was there as well. I think they're about to share their release, and that's great. That's more choice for the developers. Oh, and finally, Adam Bien was there, and he was really good as usual life coding for one hour.

I think a good number of people called his session probably one of the best of the conference. So I'm really excited about how it all went. Dalibor?

Dalibor Topic: The SE side was well represented as well with Mark Reinhold doing the opening keynote talking about Java SE seven and the new JSRs which we'll get into a bit later. He particularly mentioned the new features coming from Project Coin, then talking about Project Lambda for closures, and a bit of the whole Java SE eight plans that we discussed as Plan B with the community, and, of course, mentioning the different ideas for JVM convergence, what's happening there as well as modularity as one hot and very interesting topic.

In addition to that, on the SE side we had some sessions on Open JDK. I did that one. On Project Coin, of course, with Joe Darcy and Maurizio Cimadamore, who showed us some of the interesting tools there and finders, and so on, and with Project Lambda with Brian Goetz.

And on the JavaFX side we had Richard Bair and Jasper Potts who spoke on JavaFX on two conference sessions, one called "Physically Attractive", which was gaming related, and another one called "From Shabby to Chic" which was a take on the extreme GUI makeover done in Java FX. And of course all of this was flanked by [indecipherable 0:03:36.4] , by hands-on labs, and all that.

There is a website on the SunWiKi that describes that the breadth of Oracle's participation of Devoxx where all the sessions are listed, and I think the conference session will appear on Parleys.com as they've been recorded. And I think Alexis will have some things to say about that.

Alexis: Right. So every single minute was recorded at Devoxx, and everything will be made available as soon as in a week from now, because they have this really cool software to process all the data. And the experience; if you haven't been to Parleys.com, just try it out. It's really cool how you can have synchronized slides. You have all the demos. You have all of that, and all the processing is done actually on the fly by the software these guys wrote.

So it's not free, though. It's a subscription 17.90 Euros per year. And everything that was done at Devoxx 2009 is now available for free. So that's the model they have.

Roger: So tell me a little bit about the message boards that happened there.
Alexis: So on my side, I think it was mostly what I expected. People are looking at how things will move in the future, and the future is really close now that we have filed the JSRs, and Dalibor will be talking about this in a moment. I think we have to take these with a grain of salt anyhow, because you never hear about the people who are actually happy. You hear about the people complaining.

Nonetheless I thought it showed the energy and the fact that a good number of people actually are willing to give Oracle the benefit of the doubt on the way the company deals with the community, so that was the main positive point that I take out of these boards.

Roger: So, Dalibor, Java SE, lots of new JSRs submitted. You've got a quartet of JSRs that came out this last time.
Dalibor: Right. So just in time for Devoxx, of course, Mark Reinhold had some really good news on his news blog about four JSRs being submitted. So, the first one is JSR 354, which is about small enhancements to the Java programming language led by Joe Darcy, with help from Jon Gibbons, Maurizio Cimadamore, and many other contributors to Project Coin. So this is the JSR for the small language enhancements in Java SE7.

Then another language, a second JSR called JSR 355: "Lambda Expressions for the Java Programming Language" led by Brian Goetz with help from Alex Buckley, Maurizio Cimadamore again, and others in the Project Lambda community.

Then Umbrella JSR 356, which is for Java SE seven release contents for the enormous team effort as Mark puts it that is JDK 7, basically the first part of our Plan B. And then also JSR 337 for Java SE eight release contents for the eventual JDK 8, which is the rest of Plan B.

And, of course, as Mark says, those JSRs have been a long time coming, and they're finally now the JCP SE/EE Executive Committee ballot for approval, and the results should be available in two weeks from their beginning of the vote which would be November 29.

Roger: And we should make a note here to people. These are not voting on the final status of the JSRs. These are voting on whether or not these JRSs should be initiated and the work should be started on these particular JSRs.
Dalibor: Correct. Another interesting aspect here is if you've read the blogs by Eduardo Pelegri-Llopart on "The Aquarium" he has posted two very interesting posts. First one, how to read a JSR explaining some of the technical terminology behind what a JSR is and what expert group is and what it actually means, and how to read them to actually parse them as somebody's who's not involved in the process and not knee-deep in it.

Another post about how the JSR inception votes by the expert committee actually work, and why a two-thirds majority in this case is needed, and more specifics about the voting procedures in this case.

Roger: So tell us over on our side of the house; Greenfoot are actually not really on our side of the house, but in the tools side of the house, Greenfoot is kind of come up and won a huge engineering education award.
Alexis: Exactly, yeah, Greenfoot wins the 2010 Premier Award. Premier Award is an award for excellence in engineering education courseware. Greenfoot.org has been around for a number of years. We have had them on the podcast a couple of times already, very interesting tool, educational tool, not trying to describe it. It is a mix between an IDE and a graphical development environment. It is focused on young teens, age 11-12, gets started with programming, object-oriented programming, algorithms.

The nice thing is that the graphical user interface allows the children and the young adults to start playing with algorithms without getting too deep into the language syntax, but it is still full Java underneath, so they can go deeper as they progress and it's a really nice tool. It has a tremendous following and we are really excited that they got this recognition.

Roger: And in fact we are going to have a feature interview in the upcoming weeks with Ian Utting and Michael K├Âlling talking about BlueJ, which is the other half of the their project, which is more of the technical programming type of thing for the middle school and high schools students, and Greenfoot is maybe a little bit younger than that, but certainly a compliment there, so kudos to them. Also we have the LWUIT Resource Editor, got a new alpha version for the GUI builder.
Alexis: Yeah, I mean LWUIT is plugging along. The latest subversion repository contains a new version of the resource editor, which now includes an alpha version of what they a call a GUI builder. And this is something that the community of developers has been asking for for long time. And if you are familiar with Matisse, the Swing GUI Builder and NetBeans, it's somewhat similar.

The idea is that the developer can create and place a name UI component in this GUI builder, but instead of generating a bunch of code, the mechanism that they chose in the resource editor was to generate code that represents a UI state machine that controls your logic, and then you as a developer can plug in the events and the things that happen and the methods and the functions that get triggered. As the user progresses through your application, you plug those into the UI state machine.

So, very nice approach; it's still in its alpha state, so it is buggy and it is missing features, but the LWUIT team has put together a four-part tutorial with videos and other information showing how the GUI builder works, and I definitely recommend developers check it out at LWUIT.blogspot.com.

Roger: All right, turn our attention now to kind of the events section and the main events we have coming up are JavaOne in Brazil in Sao Paulo on the 7th through the 9th, and then in China from the 12th through the 16th in Beijing. So if you have an opportunity to go there, we would certainly love to see you, talk with you. I know that most of us with the exception of Dalibor will be at one or both of those locations, so we would love to see you there. Speaking of which, we are going to come in and do a feature interview with Bruno Souza and Fabiane Nardone, who are Java Champions in Brazil, give them a chance to share what's happening down at Brazil as a prelude to what's coming up with JavaOne Brazil. So let's go directly into that interview.

[interview]

Roger: I am sitting here with Fabiane Nardone and Bruno Souza, both Java Champions, both are very influential in the Java community within Brazil. There was an OpenJDK Manifesto that occurred down there, so why don't you guys discuss that.
Bruno Souza: So what happened is that the Brazilian government and all the companies are heavy users of Java technology for many years, so that's one of the big portions of Java in the country. So we have huge banks like the Bank of Brazil, Caixa Economica Federal is another bank. We have companies like Petrobras and Serpro, huge government owned companies that are heavy user of Java.

With the push for open source and free software down in Brazil, the fact that Java became open source to the OpenJDK project was a really important step.

And lately, since the last two years, the Brazilian government has been carefully watching what's going on in the OpenJDK project and they have decided now that it is a good moment to do a push on the usage of OpenJDK in the country.

So I think that's kind of just summing up what the OpenJDK Manifesto is, it is like joining of several companies, government owned companies and government entities like the Ministry of Planning for example, that decided that they should do a stronger push to test and use OpenJDK on a day-to-day basis inside the government.

Fabiane Nardone: And after that I think the government is going to look for new developers to participate in the OpenJDK development as well, because Brazil is basically based on Java for all the government information systems. And they feel that it is important for the country to have people in the country that knows how to program, to fix bugs and to deal with OpenJDK. So they want to make sure that OpenJDK is going to be open source.

There is going to be always a Java version that is open source. They want also to contribute to OpenJDK and make Brazil a strong code contributor for OpenJDK in the future.

Roger: Yeah, this is not just the Ministry of Planning. My understanding in talking with Daniel when I was down there that he was trying to get more ministries involved in that, has that happened so far?
Bruno: Yeah, several ministers are already involved immediately because when you talk about Serpro for example, Serpro is the IT entity of the Ministry of Finance, so there are other ministries already involved. And the Ministry of Planning in Brazil has this very important project. It is the called the IPING infrastructure and integration project, that you have to set standards to be used in other government.

So this initiative is also tied to IPING in terms of setting the standard that the JDK to be used inside the government is the OpenJDK.

So that is the first step for this happen. Once this happens, then every entity that's part of the Brazilian government, be it the ministry or a secretary or a government company, all of them will eventually start pushing OpenJDK into their...

Fabiane: We have been talking to people from the Ministry of Health and also people from universities to get developers involved on OpenJDK. I personally think that the best place is in the universities because contributing to OpenJDK is not something easy to do.

This is one of the strategies for the government to get people from the universities to contribute code to OpenJDK.

Bruno: The guys that are working on the OpenJDK project from the community are very very experienced Java developers, and a lot of times C developer, because a lot of the OpenJDK is not even Java. So to get to the level of actually being able to contribute code, that is not going to be an easy step, but I think there are other easier things that every Java developer could do.

So for example, in every project, have at least one of the developers only use OpenJDK on his machine, so to always run whatever project he is being tested on OpenJDK to see if there is any problem, any issue in production systems.

When you are going to go do testing and scalability and performance testing, have tests being done on OpenJDK, so you can see any performance issue or any compatibility issue that you might encounter.

If you have a developer that is running OpenJDK, then if there anything that you are doing that is dependent on the proprietary version of Java, then you can immediately catch this before it reaches production.

So I think all of those steps are really important because it will help OpenJDK to be mature enough that people can actually use it in production.

Roger: Let's switch gears a little bit, JavaOne. You have been around Java before there ever was a JavaOne. You started it when it was back on OOW. So you have been around JavaOne for a long time, Fabiane you have been around equally for a number of years. So give me your impressions of JavaOne?
Fabiane: Oracle Open World and JavaOne are completely different conference. If you look at the attendees from one and the other, you can see the difference. The developers are not business driven people as the Oracle Open World attendees. It is not bad, but they are different conferences and I think it will be better if they are separated or one just after or before the other, but not at the same time.

But still the good side of JavaOne this year is that there are still great sessions, most of the sessions that I attended had great content. It is good to see that lots of people that used to come to JavaOne are still here, so they didn't abandon JavaOne, so we still can meet lots of good people here.

Bruno: I'm enjoying JavaOne this year. I had some very good conversations, a lot of people. I had some good interactions with Oracle. We are discussing a lot of things around Java user groups and community building, so I think that this has been very very positive. Oracle Open World is huge. It is twice of the size of the largest JavaOne we have ever had. So it is huge and in a lot of ways it completely overshadows JavaOne. JavaOne was always the place that the Java community met.

It was not a Sun event. Even though a lot of people complained, oh there is a lot of Sun content, but it was clear to everyone and everyone that attended here, all the companies that attended here, were here because they understood that JavaOne was not a Sun-only event. It was an industry event.

You would have people from all different companies, you would have products from all different companies, you would have discussions around the future of Java from everyone in the industry.

Java is a multi-company, multi-industry environment, and I think preserving this at the most important meeting points of the year for the Java community, I think that's very important.

So as Fabiane said, everyone is still here, you see from the speakers, from the people that are here, from the people you talk to, the people are here.

Even some of the people that are not involved directly with Java anymore and they are not directly involved at JavaOne, they show up in the parties at night, so it is still the main meeting point for the Java community and I think we should preserve that.

Roger: Now are you excited about because one of the next things that they are going to do is they are going to take the JavaOne brand and bind it with Oracle Develop and take it internationally. And you guys are going to be one of the first countries where we go to in December.
Fabiane: We are very happy to have JavaOne in Brazil, especially because JavaOne in Brazil will have community content. So the Java community in Brazil will be part of the Hevelin team that they are going to choose for part of the talks. We are going to have local content which is very important for us. Of course, the Oracle speakers still will be there and probably they will do most of the talks, but we as the Brazilian Java community will be able to choose part of the content, and this is very important to us.
Bruno: Being part of the discussion of the content of the conference help us set the conference the way we want in terms of local content or what are the subject that are more interesting for the Brazilian developers, because not everything that is Java related for example are the most interesting things for a specific region. And so we are going to have a chance to tune this content to the Brazilian developer community. And I think the fact that Oracle is listening to these efforts, it also gives us a good feeling.
Roger: The dates for this are December 7th, 8th and 9th and maybe two tracks for Java. So just in closing, tell us just a little bit about what's happening with Brazilian JUGs and the developers based down in Brazil?
Bruno: So Java user groups are very active not only in Brazil but worldwide, and I think that we have been having some good conversation for Oracle in terms of how the community will be organized and how Oracle will handle the issues of the community. We are getting some interesting changes in Java.net, and maybe Fabiane can talk a little bit about that. It will benefit a lot the Java user groups. So I think that overall, we have a very active and very passionate JUGs community right now that will help push Java even more forward in the next few years.
Fabiane: Talking about Java.net, Java.net is going to have new tools which are going to be very useful for JUGs. One thing that is going to happen is that more social tools will be available, like it is going to be easier to publish your Twitter feeds for the community, to publish the project news, to have better tools to update the JUG's web page for example for all the communities. And something that is going to change as a user of Java.net and also a community manager, I can understand that the paying of the developers that have the projects there; is that right now the project space is not as good as we would like it to be, so we are going to merge with Kenai Infrastructure.

And this will bring lots of new tools that is going to be very interesting for the ones that want to host their projects at Java.net.

For example, there is going to be a GIT subversion, JIRA, probably Maven artifacts, repository and things like that. So I think Java.net is going to be a much more interesting place to be in the next few weeks and months.

And one thing that is good about Java.net, it is a completely open community. Although Oracle funds most of this space, it's basically run by volunteers. So, people that are not affiliated with Oracle are more than welcome to java.net.

Neither I nor Bruno are Oracle employees, of course, and have been volunteering for Java.net for a long time. You're always welcome, and if you would like to join java.net, you can just go to the website, and we always need more volunteers so your contribution is welcome.

Roger: Thank you guys for taking a few minutes out from JavaOne. Look forward to seeing you guys down in Brazil.
Bruno: Thanks very much.
Fabiane: Thanks a lot.
Terrence: We've known Bruno and Fabiane for a while now, and as you point out in the interview, they're really involved in the scene down in Brazil and OpenSource. OpenSource has really taken Brazil by storm. It's become a vital part of the Brazilian IT economy. And you can also feel it when you're down there in the enthusiasm that the developers and the users bring to open technologies.

I mean we've experienced it ourselves in the M3DD or the Mobile and embedded Developer Days down in Brazil that we did last year where the community really stepped up to the plate, and helped us organize the event, and really put together a really nice event, and brought in a good audience from many parts of Brazil.

So it's really good to talk to Bruno and Fabiane on these topics.

Alexis: On the Open JDK, I'm really excited to hear about the enthusiasm in Brazil for contributing to the project. As you know, at JavaOne, Oracle made it's commitment to Open JDK clear, and it's great to see that clarity also provides another push to such efforts. And, of course, we welcome all contributors to Open JDK, be they large companies like RedHat, Google, AMD, or in the past couple of weeks the announcement of IBM and Apple, or whether they're individuals or academics or organizations.

If you want to contribute Open JDK, and you're not in Brazil, of course you can still do. You can and go and check out OpenJDK.java.net/contribute for a guide how to do so.

And, of course, I'm actually looking very much forward to see the Brazilian developers show up on our mailing list and start to make their impact felt for improving the platform.

Roger: Yeah, I think what's interesting here is that now we're beginning to see not only major companies like IBM and Apple coming in, but the government looking at the possibility of providing funding for developers in there as well, so that's a positive move forward with the Open JDK projects. Let's turn now to the "What's Cool" section, so Alexis, what's cool in your side of the world?
Alexis: So we already talked about this on the last episode, but since that, NetBeans seven beta was actually released and you can now try out the new language construct using a recent build of Open JDK. And that means seven not only can support this, because it just plugs into the Java C compiler, but it can actually have a number of hints that will help you translate or re-factor whatever construct you have today into something that's more terse in the new language features that you have in JDK Seven, such as the diamond operator, the multi-cache.

There are a number of them, so I had a lot of fun playing with this. And, in fact, Arun Gupta has just released a video showing exactly this, so there's a screen cast, and you have the URL and show notes if you haven't seen it already.

Roger: So, Terrence, you got a few new toys, huh?
Terrence: Yeah, I felt like a kid in a candy store the other day. I finally got hold of a Beagle Board and Guru Plug. Now for our listeners who aren't that connected to the embedded side of the house, Beagle Board has been around for a while. And I just go the latest rev which has even more memory and a faster processor. It's basically a really small embedded PC including a fairly high-performance graphic subsystem, runs at I think around a gigahertz ARM processor and 512 megs of memory, and so it's a pretty powerful system, but you know in a three by four inch form factor pulling like a watt or two on average.

And then there's the Guru Plug which is just sort of ramping up in production which is almost more interesting even than the Beagle Board, well, depending on your application.

Guru Plug server is what I have here on my desk, and it's tiny embedded server, again, running an ARM architecture at around a gigahertz and 512 megs of memory.

It actually comes with two complete Ethernet ports, two USB ports, SD card, built-in WiFi, and God knows what. And it actually, the chassis is tiny, and it looks like a power plug.

You just plug it in the wall and off you go, and you have an embedded server basically hanging off your wall socket. And you can do all sorts of cool stuff.

It's running Linux. Beagle Board and Guru Plug both run Linux, and pretty much full-featured Linux, so we'll put Java on there and we'll start building some cool embedded demos.

And we're also putting together a starter kit for the Java embedded client featuring these platforms. So stay tuned for that. This is really interesting stuff.

Roger: So, Dalibor, we've got some open positions again, I bet, huh?
Dalibor: Yeah, it seems so. It's something I keep coming back to, but there always new and fresh. In this case, we have one new open position in sunny Santa Clara in California working with the Open JDK community to develop a new JavaScript interpreter on the JVM and a few more things in this area. You can find details about this position in the show notes. And as Marcus Hirt blogged from the JRockit team, there are three open positions for hacking on the JRockit Mission Control in not quite so sunny, but nevertheless, beautiful Stockholm in Sweden to help develop the next generation low overhead production class profiling and diagnostic tool for Java. Again, the link to those open positions in the show notes as well.

But we didn't just have open positions last week and [indecipherable 0:29:59.7] , we also had some very interesting things happen in the community.

So, in particular, I'd like to point out that Henri Gomez has written up setup instructions for a continuous build of the Open JDK BSD port for both 32-bit and 64-bit builds on [indecipherable 0:30:17.7] .

And you can find a link for this in the show notes, as well as in the BSD Ports WiKi where Henri as been so kind to actually have that instructions.

So if you want to get your Open JDK on your Mac as fresh as possible, as comments happen, you can actually set up your own Hudson Demon to have it deliver it to you.

And as a part of that I'd like to give special thanks to Michael Tharp, who has updated the Mercurial forest extension which we use for Open JDK and a few other projects at Oracle, to work with Mercurial 1.7 which is the latest open Mercurial which is also the one that shipping in Mac ports.

So thanks Michael, and thanks, Henri, for making this work and for making this exciting contribution.

[music]

Roger: Well, thanks for listening to the fifth edition of the Java Spotlight Podcast. I'm Roger Brinkley.
Terrence: And I'm Terrence Barr.
Roger: And send your feedback to: Feedback@javaspotlight.org. [end of transcript]


Transcript by CastingWords