Wednesday Sep 25, 2013

Session Report: Is It a Car? Is It a Computer? No, It’s a Raspberry Pi JavaFX Informatics System

by Timothy Beneke

On Tuesday, Oracle Technology Evangelist Simon Ritter presented a session that demonstrated how a simple Raspberry Pi computer could be connected to an Audi to access far more information about the inner workings of the Audi than is currently available. Ritter, a great showman who has entertained thousands of JavaOne attendees over the years with his Java tricks, communicated his contagious passion for gadgets – and for sharing them with others.

“I love computers and all things electronic, and I also love cars – I’m a petrolhead -- so I’ve combined these 2 passions into one thing,” said Ritter. 

His talk was divided into several sections. He began by talking about the reliance of cars upon computers and moved to a discussion of the Raspberry Pi and why it’s a good choice for the kinds of systems he built into his car. He went on to briefly provide some background about embedded Java and JavaFX, and why they are good choices for the Raspberry Pi. He then spent much of the session describing the software system he built in his car, its functionality, how it works, and so on. He speculated on possible future enhancements to his “carputer,” and, finally, showed a video that provided a sense of what it is like to ride in the car with the new data accessible.

He initially made the point that computers and cars are now inexorably tied together. His first car, a 1971 Mini Clubman 1000 had, aside from a radio, no electronics. In contrast, his most recent car, a 2011 Audi S3, has lots of electronic devices, like all modern cars: an engine control unit, fuel injection/electronic timing, “Fly-by-wire” throttle, an anti-lock braking system, Satellite navigation, auto-sensing wipers and lights, and much more, some of which are mandated by law. The key point is that cars are already heavily computerized.

He described how the bus architecture works in the Audi, a communication system that transfers data between components inside a computer, and presented basic information about embedded Java, Java ME and JavaFX.

The Advantages of the Raspberry Pi for Car Computing
Ritter described the history of the remarkable Raspberry Pi, a project begun in 2006 that was initially created to inspire children to learn about computers. It was officially launched on Feb 29th, 2012 and currently, nearly 2 million have been shipped at a cost of around $25. It is ideal for children because of its cost and ease of use.

Its core features are:

* CPU: ARM 11 (v6) core running at 700MHz
– Broadcom SoC package
– Can now be overclocked to 1GHz (without breaking the warranty!)
* Memory: 512Mb
* I/O:
– HDMI and composite video
– Audio out (3.5mm plug)
– 2 x USB ports
– Ethernet
– Header pins for GPIO, UART, SPI and I2C

Ritter pointed out that adult computer geeks have been playing with the Raspberry Pi in countless ways. He then summarized why it is ideal for car computing:
* It has plenty of computing power with low electrical power consumption (< 1 Amp at 5V).
* Persistent storage is provided by the SD card.
– Disk drives are not ideal in hot places with lots of vibration.
– It’s a supported device for embedded Java.
– It is configured for floating point acceleration.
– It works with Java SE Embedded and Java ME Embedded.
                  --   A JavaFX Prism graphics engine is ported.

His goal was to gain new information from his car in real-time and have it available for analysis to ultimately improve his driving style:
* Display realtime data
– Engine performance (Power, Torque, Load)
– Driver data (Throttle position, steering angle, braking force, etc)
– G-Forces on car
* Record data for later analysis
– Produce graphs to display changes over time
– Play at Formula 1
– Improve driving style

He went on to describe the creation of the accelerometer, touch screen, measures of torque, among other things, and closed with a 3-minute video showing the box in action in the car from the perspective of someone riding in the car with various measures visible. Then he played back the information recorded on the drive.

All in all, a super entertaining, informative session.

Ritter will be posting more info about his session here:

The Raspberry Pi
Check out where you can listen to the session in early October.

Session Report: Demystifying Java EE

Adam Bien, who is not only a Java Champion and JavaOne Rock Star, but was named in 2010 as Oracle Magazine’s Java Developer of the Year, spoke to an enthusiastic crowd where he addressed some core issues about Java EE. He encouraged questions – “The more heretical or offensive the better.” It was obvious that Bien loves to think about and code in Java. He remarked, “The more I code the happier I am”. Spoken like a hard-core Java developer!

First, he asked, “What is Java EE? Innovation vs. Standardization”?  For Bien, Java EE is nothing but a release of co-existing APIs. Before Java EE, there was a mess with lots of application servers, with absolutely no chance of finding two application servers with similar APIs. Java EE resulted in a huge simplification. Now with Java EE 7 a wealth of are applications available. Java EE, insisted Bien, was never about innovation because building a standard precludes innovation. “Java EE will always lag behind,” he observed. “For instance, Hibernate will always have more features than JPA. Spring will always have more features than CDI. Java EE is the 80% that makes products work. It was never about innovation.”

He boiled down the whole point of Java EE: “What matters are small WARs – the smaller the WAR, the faster the build and deployment. The faster the build and deployment, the more productive you become,” he insisted. He explained that Java EE enables you to not put everything into the WAR and place as much as possible on the application server and less on the WAR. He explained that most of his WARs in Java EE 6 or Java EE 7 projects are very small

Bien asked, “Are EJBs bloated?” He explained that the question implies some voodoo stuff behind the scenes making EJBs bloated. He offered a means to answer this question.

He went on to answer a wealth of questions in a way that was thoughtful, incisive, witty and, at times, a bit provocative.

Here's some of the topics/issues (pulled directly from his slides) that Adam touched on in this fast-paced session:

*Do we need transactions?
*Is Dependency Injection Black Magic, VooDoo, or both?
*Is EJB pooling needed? Are EJBs bloated? What happens, if you violate the EJB programming restrictions?
*Why AOP didn't take off in Java EE?
*Stateless vs. Stateful programming model?
*HA without a Cluster?
*Are there any POJOs out there? What happens during deployment?
*Is Java EE faster than J2EE? Does JMS 2.0 scale and perform well? Is Java EE only suitable for the "big" enterprise?
*Is JSF the silver bullet? What is the deal with CORBA and RMI?
*How to unit test Java EE applications? Why we don't build a best of breed server from scratch?

This was a lively, entertaining and information-packed session. Just what you would expect from a pro developer as Adam Bien. I highly recommend viewing this session.

Adam Bien’s Blog
Check out where you can listen to the session in early October.

Brazilian Java Man at JavaOne

In this video, Bruno Souza and Java Community Manager Tori Wieldt discuss JavaOne, the Java Community Process (JCP), cloud computing and mad scientists.

Java in Action at JavaOne: The People Counter

There's a lot of action at JavaOne, lots of movement. We've got robots, cars, door sensors, apps in the cloud and more. In this video, Architect Oleg Kostukovsky describes the People Counter, a combination of sensors, gateways, a database in the cloud, and a JavaFX UI which provides real time data on people movement.


Insider News from the Java Team at Oracle!



« September 2013 »