Thursday Nov 19, 2015

New Java Champion Lukas Eder

Congratulations to the new Java Champion: Lukas Eder! 

Lukas is the CEO of Data Geekery, a service offering open source products and APIs based on Java Object Oriented Querying (jOOQ). He has been the main contributor of the open source jOOQ project for many years. Lukas is also a consultant and a trainer on SQL and Java 8. He writes about topics related to jOOQ, SQL and Java on the blog

Lukas is a member of the board of the Java User Group Switzerland (, where he brings popular speakers to conferences in Zurich, Bern, Lucerne, and Basel. He is involved with the program committee of Voxxed Zurich and other Java conferences. Lukas has been  a speaker at many Java conferences such as Geekout, Geecon, and Devoxx for many years. Follow him at @lukaseder 

Monday Nov 02, 2015

Gosling is admiral of a fleet of robotic marine drones

By Roger Smith

Father of Java is now Liquid Robotics' chief software architect

I learned James Gosling, the creator of the Java language, is now the admiral of a fleet of water-borne drones from Mike Duigou last Thursday at the Java Hub in the JavaOne Exhibit hall. Gosling is the chief software architect for Sunnyvale-based Liquid Robotics, a 8-year-old company that uses self-propelled 7-foot-long marine robotic drones that look like surfboards to collect and transmit oceanic data for a variety of uses. Duigou told me that he was brought aboard by Gosling as Senior Software Engineer when he joined the company in 2011.

Called Wave Gliders, the drone are powered by wave energy, with the constant up-and-down motion providing energy that pulls the robots through the ocean. Duigou gave me a hand-on tour of the USS Gosling, a test Wave Glider on display in the Hub. He explained the Wave Glider is made of two parts: the surfboard-sized float that stays on the surface; and the sub that has wings and hangs 3-9 meters below the float on an umbilical tether. Because of the separation, the float experiences more wave motion than the sub. This difference allows wave energy to be harvested to for propulsion.

Exploded view of Wave Glider marine drone (source: Liquid Rocket)

The Wave Glider is equipped with several computers for navigation and payload control, satellite communication systems, and ocean sensors that do things like measure weather, sea conditions, water quality and chemistry, animal life and water currents. Acoustic microphones and arrays on the Wave Glider have also been use to record passing ships and the vocalizations of whales and other mammals (an early use case of the company's technology).

The power needed to operate the sensors and computers is provided by solar panels, which are used to recharge lithium-ion batteries. Individual Wave Glider can be programmed for autonomous operation, or it can be steered by a remote pilot over the Internet. Continuous, near real time, communication is provided via satellite, cellular phone or radio links for piloting and data transmission.

All the Wave Glider computing power is Linux- and Java-based and includes a Hadoop cluster on the backend used to analyze the large data sets the devices collect, either individually or in groups. Duigou explained that the Wave Gliders can also be programmed to operate as a drone swarm. "For example, you can set up a fence around a marine protected area like Monterey Bay and give them all the goal of defending the border and reporting intruders. The robots can figure out who goes where."

A diver swims with a Wave Glider SV2 during operations in Hawaii (source: Liquid Rocket).

Find out more about Liquid Robotics here:

Thursday Oct 29, 2015

What’s Inside Oracle Cloud for You

By Roger Smith

Cloud Services for Developers

“Time is the greatest savings that you get from moving your development environment to the cloud,” said Oracle’s Bruno Borges, in his JavaOne presentation “Cloud Services for Developers: What’s Inside Oracle Cloud for You?” “If you have had to set up an on-premise Oracle database, or any other database, you know that it takes time to do that and you always ask yourself ‘Is these production-ready?’”

In his fast-paced, hands-on demo, Borges showed how developers can quickly get up to speed using Oracle’s pooled, shared, and elastically scalable software development platform, which gives organizations the ability to develop new applications in a quick and cost-effective way. He explained how developers can use their favorite IDE (Oracle JDeveloper, Eclipse, NetBeans) and build systems like Maven and Gradle to develop and deploy applications to the cloud.

Target different JDK Versions

Developers also have the option of choosing either Java SE 7 or 8 to leverage the particular language and JVM features their applications need. Since Oracle Java Cloud is an open platform, developers can also use any available open source or commercial Java library or framework in their applications.

Database Integration

Borges next walked through how to connect to Oracle Database Cloud Service to persist and manage application data as well as how to use Oracle Messaging Service to message between Java Cloud applications, on-premises applications, and Java EE and Node.js applications deployed in the Oracle Cloud. He then demonstrated how you can profile Java applications using Java SE Mission Control and Flight Recorder, in addition to the Oracle Application Performance Monitoring Cloud Service.

He also announced a new Docker Container Service that will soon be available from Oracle to help developers deploy applications into Docker containers.

In response to an audience question about Oracle Cloud scalability, Borges said that you can choose to run your application on your choice of compute size (i.e. the number of cores), and it will scale out dynamically on demand. He said they were also working on giving developers the capability to add scale programmatically using business logic, for example, in an e-commerce application that needs to scale up during the holiday season.

Wednesday Oct 28, 2015

3D Printing with a Java Rockstar

By Roger Smith

Controlling a 3D Printer with Java and VRL-Studio

I chatted with Java Rockstar Michael Hoffer on Tuesday at the Java Hub in the Exhibit hall about VRL-Studio, an innovative visual programming environment he created in Java that combines visual and text-based programming. Currently doing his PhD at the Department of Computer Science and Mathematics at the University of Frankfurt, Germany, Hoffer works at the Goethe-Center for Scientific Computing in Frankfurt. His research interests are in developing visual programming concepts in the field of modeling and simulation of highly complex physical processes including those modeled by medical scanning equipment.

VRL-Studio uses the Java Reflection API and Groovy to automatically generate interactive user interfaces, and has a powerful plug-in system that allows for easy integration of Java libraries, such as the 3-D modeling library JCSG. Hoffer demonstrated how he created a lightweight drone with four arms that are modeled on a complex structure found in the bones of birds. (see images below) "These drone parts can also be optimized to remove vibration. This structure cannot be created via milling, but it's a very easy task for a 3D printer."

It's also easy it is to turn a Raspberry PI board into a fully functional robot, Hoffer said, using 3D geometries created with the open source JCSG library and his VRL-Studio IDE. He then demonstrated his 'Pi on Wheels' bot, an affordable open source Do-It-Yourself robot, which he uses to teach Java-related technologies in the context of the Internet of Things.

Hoffer blogs about Java, JavaFX, and related technologies at Find out more at VRL-Studio here:

Lightweight drone with four arms modeled on a complex structure found in the bones of birds

Close up picture of drone arm printed by 3D printer.

'Pi on Wheels' bot, with 3D printed body and wheels

Tuesday Oct 27, 2015

Robots Look for Human Companions at JavaOne

By Roger Smith

Humaoid Robots Are Big in Japan

I spent part of this afternoon at the MakerZone, which is part of the Java Hub at this year's JavaOne Exhibit Hall, where I had a brief, enjoyable chat with Pepper, a 4-foot tall humanoid robot. Created by Aldebaran Robotics, Pepper is a social robot able to recognize and react to human emotions and carry on simple conversations in as many as 28 different languages. (I met and wrote about Nao, Pepper’s androgynous older sibling, in a recent JavaOne4kids workshop that showed how Nao could be taught to walk, talk, catch small objects and even dance). Besides being almost twice as tall as Nao, Pepper moves around on three omnidirectional wheels rather than feet like Nao. The Nao robot has been in development since 2006, while Pepper only has been around for a little over a year. Pepper’s added wheels give him greater range and almost 14 hours of battery life, which is three times the amount Nao has. The additional battery life was a requirement, said Nicholas Rigaud, Developer Community Leader for Aldebaran, since he was designed to greet and interact with customers in retail stores owned by Japanese mobile phone operator SoftBank Mobile, Aldebaran’s parent company.

Aldebaran has participated in three JavaOne conferences and keeps coming back each year because it's a great way to engage with a global community of software developers. "There is a great deal of entrepreneurial energy at these shows, which is what we're looking for," Rigaud said. "We want to get the word out about the programming resources and simulation tools we have to help developers create, fine tune and monetize their applications on the Aldebaran robotic platform." These resources include Choregraphe (the company's graphical drag and drop programming interface) that lets developers create applications with sample code containing dialog and behavior for the robots. The development environment includes a SDK simulator so that programmers can view their apps on a virtual 3D robot. Rigaud said there are currently 4,000 developers actively participating in the free developer program, of which roughly 25% are robot owners. 104 countries are represented, including 2,400 developers in Japan, 350 in the US and 300 in France. Find out more about Aldebaran's global developer program here:

Monday Oct 26, 2015

New Java Releases Will Tackle Developer Pain Points

By Roger Smith

JavaOne 2015 Keynote Focuses on Future Java Platforms

The half-dozen presentations in the opening JavaOne keynote featured a few looks in the rearview mirror to honor Java's 20-year rise to become the dominate general-purpose computer programming language, but otherwise it was a pedal to the metal focus on new features in the various Java ME, Java SE and Java EE platforms. A familiar face from Java's past also made a brief and humorous video appearance to cap an eventful 2-hour session on Sunday, October 25, 2015 at Moscone Center in San Francisco.

Host Georges Saab (VP Java Platform Development at Oracle) welcomed Michael Greene (VP Software and Service Group at Intel) who discussed Intel's history with Java. "Two important things happened in 1995," Green said, "I married my wife of 20 years and Intel acquired its first Java source license. I was one of the first Intel engineers dedicated to insuring Java works best on Intel hardware and that transformed my career. Twenty years later, I'm glad to say we haven't missed a beat."

The bulk of Green's presentation covered what Intel has done since joining the OpenJDK community in 2014 to promote open source implementations of Java. He announced that the Intel IoT Developer Kit now supports Java, which will make it easier for Java developers to address sensors, stream data and work with data on the web, He also said that Intel's Quark, a new embedded low-power processor designed for small mobile devices like wearable computers, will now run Java ME.

Mark Reinhold (Chief Architect, Java Platform Group) took the stage to discuss features in the next Java 9 SE release, now scheduled for 2016. He explained that Java has evolved over the years by tackling pain point that Java developers complain about through the Java Community Process. "In Java 5, we introduced generics; in Java 8, we introduced lambdas, and in Java 9, we'll be introducing modularity to create a scalable and more secure platform." Reinhold explained that modularity is intended to ease the pain of constructing, maintaining and distributing large applications by removing the "JAR hell" developers currently experience when trying to install software packages that have dependencies on specific versions of other software packages. He noted that 'JAR hell' is such a common developer complaint that it has its own Wikipedia page to describe all the various ways in which the classloading process can end up not working. Modularity will not have the same impact on the average developer as lambdas have had in Java SE 8, Reinhold said. "Modules are more like seat belts than lambda expression jet packs."

Brian Goetz, Java Language Architect, then talked about what's in store for future Java SE releases beyond Java 9. Project Valhalla will add value types, which are highly-efficient small 'objects' that do not have an inheritance property, and Project Panama builds a bridge between Java and C/C++ by providing a native interconnect between code managed by the JVM and APIs for non-Java /C++ libraries. Both of these projects are intended to provide more efficient access to data and better control over data layout in memory to achieve higher performance.

Engineering VP Anil Gaur next gave an update on Java EE release 8, which is expected in the first half of 2017. Gaur said that, based on a survey that received over 4,500 responses, the Java EE community has prioritized the desired features for the next Java EE platform release, which includes new APIs for JSON Processing, RESTful Web Services and Java EE Security, among other features.

The keynote ended with a surprise video that featured former Sun Microsystems CEO Scott McNealy, who talked about how Sun developed the Java language. "I hired James Gosling in the early 1990s because Bill Joy said he was the best programmer he knew. I took his advice because Bill was the best programmer I knew. After a while, James got bored and threatened to quit. I told him I would give him the resources to do anything he wanted, as long as he didn't quit. What he wanted to do is develop a "write once, run anywhere" language. Which he did, and which is why we all now have the Java language."

McNealy concluded his short video with the following "top 12 list of Java Developer nightmares of 2015":

#12. Screenglare
#11. Entry level developers are now in the top income bracket
#10. Product marketing specs, customer deadlines and style guides
# 9. Your peer programming partner starts at 7am, with bad breath
# 8. You've got a great seat on the commuter bus, but the wifi is broken
#7. Larry raised the price of coffee
# 6. James Gosling is working at Liquid Rocket, not at Oracle
# 5. No ping pong balls and no beer
# 4. You love open source software and sharing, but you work at Oracle
# 3. Bay area traffic, California taxes, no rain and marijuana is illegal
# 2. You love your company chef, but he is on a 2-week maternity leave
# 1. The former CEO and current CTO is making ship to shore calls to you on a regular basis."

Wednesday Oct 14, 2015

Java Champions Speaking at JavaOne 2015

Java Champions will present dozens of sessions this year again at JavaOne! They are an exclusive group of passionate Java technology and community leaders, nominated by the Java community. They are seasoned developers and architects with in-depth knowledge about development.  

These top speakers share their know-how in all the JavaOne tracks including client, core Java platform, Internet of Things, JVM languages, security, tools, server-side, cloud and methodology.  

This year, we created a dedicated page on the JavaOne site where you can easily find the sessions presented by Java Champions. You can find out about their sessions by day and read the session abstract.  JavaOne is your chance to learn from the greatest number of Java Champions! 

Thursday Aug 27, 2015

Just-in-Time Compilation with JITWatch

Want to optimize the performance of your code? Ben Evans and Chris Newland wrap up their three-part series about using JITWatch to understand the just-in-time (JIT) compilation techniques used by the dynamic compiler in Oracle’s Java HotSpot VM. JITWatch is a free, open source tool developed by Newland that analyzes the complex compilation log file output generated by Java HotSpot VM. Among other things, it can help you visualize and understand the optimization decisions made by Java HotSpot VM.

Part 3 describes how to use JITWatch to see the effects that even small source code changes can have on Java HotSpot VM switches. Learn about Sandbox and VM switches features. Sandbox will let you edit code and then compile, execute, and analyze the Java HotSpot VM JIT logs. The VM switches are used to control JIT compilation.

In the September/October edition of Java Magazine Ben and Chris wrote part 2, which focuses on how to examine JIT logs to see what the JIT compiler is doing (and why). Part 1 provides a primer on JIT compilation.

Tuesday Aug 18, 2015

Java 8 Update 60 Release

This latest Java 8 release includes Nashorn enhancements, and improvements to Deployment Rule Set functionality.  It also has ARM support and the Java Development Kit for ARM is part of the release 8u60 (JDK 8u60 for ARM). A substantial number of bug fixes are available in this release. Make sure to check the release notes for details. The download is available here

Quick note on another release, which is part of the Java SE Advanced and Suite. The release is Java Advanced Management Console (AMC) 2.0, a Java application usage tracking tool. New to this release is the auto detecting windows agent that assists with auto configuration of details across a wide user base. The release note is available here.   

Tuesday Jul 07, 2015

Start Testing with Java 9

Learn about some of the changes in the upcoming Java 9 release, expected in Fall 2016. The release is currently in an early stage and a list of features compiled from the list of JEPs is available online. This is a starting point for testing whether Java 9 will affect your code. Make sure to check the list of added, changed, removed functionalities. There are suggestions about how to best test your code against Java 9.

Check out how you can be more involved and participate in Adopt OpenJDK. This community program will get you started whether you want to attend an OpenJDK testing workshop, run your own event, just learn more about the technology or provide feedback. Visit Adopt OpenJDK.


Insider News from the Java Team at Oracle!



« November 2015