Skip to main content

That's Neat, That's Nice

Posted by editor on February 14, 2007 at 7:21 AM PST

MPEG finally notices Java

It's easy to see when developers choose Java to solve problems for other developers: IDE's, build tools, XML processors, etc. It's a lot more interesting when it gets used for some other purpose, because that proves once again that it fills a need.

To this point, I was encouraged to see that MPEG founder and chairman Leonardo Chiariglione has chosen Java to implement his latest project. I'd always wished they'd done the MPEG-4 reference implementation in Java -- late 90's performance concens notwithstanding -- because it would have gotten more developers up and running faster, rather than requiring everyone who wanted to work with it to be Windows-based and be able to read and port Windows code. Adopting Java should be a good way to advance a standard, because far more developers will be willing and able to work with it.

In this case, Chiariglione has used Java for the implementation of a standard, open-source DRM system called Chillout. He mentions it in a response to Steve Jobs' recent anti-DRM essay.

"The Moving Picture Experts Group (MPEG)
has produced most of the standard DRM technologies that are required by a DRM
system. The Digital Media Project (DMP) has
added a few more technologies that were missing, has integrated them with the MPEG DRM technologies to provide complete solutions, is now setting up the governance of the system based on established practices and is releasing Chillout,
the reference software of its specification, as open source under the Mozilla
Public Licence v.1.1."

Political concerns about DRM notwithstanding, it's encouraging to see the DMP adopt Java for its reference implementation, and let's hope we see MPEG do the same in the future.

Also in Java Today,
The ever-prolific Kohsuke Kawaguchi has just released NLink, a project to simplify calling native code from Java. "The problem with calling native libraries with JNI is that, for every method, you need to write a java method declaration, and then a bit of native code to do the parameter conversion. This makes it difficult to casually call into native libraries, because you'd have to write another native library just for JNI handling. NLink overcomes this problem by providing a general-purpose method invocation converter driven by annotation." A brief tutorial on using NLink is available in the project's web space.

In the InfoQ video interview Mike Keith on EJB 3, co spec lead discusses the state of EJB 3, talks about how the community has driven the development of the EJB 3 spec, and comments on the evolution of the specification to work better with POJO's and embrace newer ideas such as dependency injection.

Mark Lam considers the question
When is Software faster than Hardware? in today's Weblogs.
"We tend to think that execution of code will be faster in hardware than in software. However, this is not always true especially in the case of Java code execution. This article will tell you why."

Jean-Francois Arcand reveals the steps involved in
Enabling Server Side Include (SSI) in GlassFish:
"GlassFish v2 supports Server Side Include (SSI). Come to read how to enable it."

Finally, Felipe Leme would like to speak up for a new JDK 7 keyword in
Final? Not yet...
"Now that the pandora box is open, it is my turn to suggest a (possible worthless) change to the Java language: the semifinal modifier!"

Grab your wiimote, if you have one, and head to today's Forums,
Using Gamepads, Joysticks and even the Wiimote with Project Wonderland, krishna_gadepalli writes:
"I have just putback support to navigate Project Wonderland with Gamepad and Joystick type devices (using JInput) into Project Wonderland. We have tested it both on Linux and Windows using Logitech dual action gamepad, Microsoft SideWinder and the Wiimote (linux only)... You can even use the Wiimote to navigate Project Wonderland. The Wiimote uses the same JInput interface and so it needs a event driver on Linux or a DirectInput driver on Windows systems. I have setup a new project @ to implement a user-space event driver for Linux. See its web-page for instructions on how to use it. I am assuming that one can do something similar to setup a DirectInput driver on Windows (see and then use it with Wonderland - but I havent tried it yet."

waste1 is looking for a
database overlay network for JXTA.
"First I want to say that JXTA is a very nice project. I know a overlaynetwork for p2p-networks (based on another p2p-software) that provides database functionality. It is based on dht algorithms but provides not the simple view of a dht. It provides the view of a table of a relational database. I searched the web for something like that for JXTA but I didn't found anything. Is there no such overlaynetwork that acts like a distributed database or am I a little bit too stupid to find it?"

Finally, Drinkwater, GJ describes an off-by-one bug in
Table Generator / primary key problem:
"I have an application that uses JMS to persist entities to a DB, I am using Glassfish UR1 using table generator for the primary key generator, using the default allocation size as 50. One problem that I had was when an unexpected row in the DB appeared. The table sequence count was say 50, meaning that the application held 51-100 in memory for primary keys, and a row appeared in at 101 unexpectedly. I am not sure how this came about, the application is the only thing using this DB, but I have been testing and restarting the application a lot. When a message was sent to the JMS, when the sequence count was 100, the entity threw a java.sql.SQLException"

Current and upcoming Java

Registered users can submit event listings for the href=""> Events Page using our href="">events submission form.
All submissions go through an editorial review before being posted to the

Archives and Subscriptions: This blog is delivered weekdays as
the Java
Today RSS feed
. Also, once this page is no longer featured as the
front page of it will be
archived along with other past issues in the href=""> Archive.

MPEG finally notices Java