November, 2007 Java News

Friday, November 30, 2007 (Permalink)

Sun has have posted the early draft review specification of JSR-294 Improved Modularity Support in the JavaTM Programming Language . This spec introduces superpackages into Java.

PROGRAMS are organized as sets of packages and superpackages. Each package has its own set of names for types, which helps to prevent name conflicts. Each superpackage is a collection of one or more packages or superpackages, which helps to organize large programs consisting of many packages. Related packages that are grouped into a superpackage can access each others’ public types, while unrelated packages outside the superpackage cannot access those types, unless the types are exported.

The naming structure for packages and superpackages is hierarchical (§7.1). The members of a package are class and interface types (§7.6), which are declared in compilation units of the package, and subpackages, which may contain compilation units and subpackages of their own. The members of a superpackage are the types declared in packages and superpackages listed in the supercompilation unit of the superpackage.

Comments are due by December 20.

Thursday, November 29, 2007 (Permalink)

java.net has published my latest article: The Open Road: Building the JDK. This article follows my experience trying to build the OpenJDK on Linux. Possibly I'll try Windows in the future. This is planned to be the first in a series of articles focusing on the OpenJDK and Java 7. If they're any topics you'd especially like to see covered in the future, holler. Likely, the next article in the series will introduce one of the new APIs proposed for Java 7.

Wednesday, November 28, 2007 (Permalink)

The Apache Maven Project has released Continuum 1.1, a "continous intergration server for building Java based projects." Continuum supports projects based on Ant, Maven 1, and Maven 2. It exposes web and XML_RPC interfaces, and provides e-mail notification of build failures. Code can be checked out of CVS and Subversion repositories. Version 1.1 fixes bugs and adds an XML-RPC based backup tool for the continuum database.

Tuesday, November 27, 2007 (Permalink)

The IAIK Graz University of Technology has submitted JSR-321: Trusted Computing API for Java to the Java Community Process (JCP). According to the JSR,

The Trusted Computing Group developed a standard API for accessing Trusted Computing functionality from applications, the Trusted Software Stack (TSS). The TSS is targeted at applications written in the C-language. To make use of TC-functionality from Java, two groups have developed prototype solutions:

  • MIT CSAIL has developed TMP/J, an object-oriented API using Java for low-level access to the TPM.
  • IAIK, Graz University of Technology has developed the jTSS-Wrapper, a Wrapper making standard TSS implementations accessible from Java, and also jTSS, a native implementation of the TCG Software Stack.

The TSS-based activities followed the C-Specifications of the TCG, the resulting API obviously is not ideal for the Java world. The proposed JSR is to develop a Trusted Software Stack for Java providing comparable functionality the TSS offers to the C world.

Monday, November 26, 2007 (Permalink)

JNetDirect has released JSQLConnect 5.70, a $225 payware native type 4 JDBC driver for Microsoft SQL Server.

Sunday, November 25, 2007 (Permalink)

Werner Randelshofer has released version 4.1 of the Quaqua Look and Feel, "an extension for Apple's implementation of the Aqua Look for Swing. Quaqua aims at fixing inconsistencies between user interface elements implemented in Swing and those of native Mac OS X applications. To achieve this, Quaqua selectively replaces UI elements of Apples Aqua Look And Feel with elements of its own." Quaqua is dual licensed under the BSD license model and the LGPL. Java 1.3 or later and Mac OS X 10.4 or later are required. According to Randelshofer, "Version 4.1 is an experimental release, introducing a FileChooserUI in Leopard design...Except for window frames, panel backgrounds, and the UI-delegates directly used from Apple's Aqua Look and Feel, all other components are still rendered using the Tiger design. Version 4.1 can be run on top of the most excellent Java 6 Port "SoyLatte" by Landon Fuller."

Friday, November 23, 2007 (Permalink)

The Free Software Foundation has released version 3 of the GNU Affero General Public License (AGPLv3). This differs from the normal GPL in that web applications based on AGPL software must release their source code as well. The key addition is the following:

13. Remote Network Interaction; Use with the GNU General Public License.

Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. This Corresponding Source shall include the Corresponding Source for any work covered by version 3 of the GNU General Public License that is incorporated pursuant to the following paragraph.

Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the work with which it is combined will remain governed by version 3 of the GNU General Public License.

This closes a hole in the regular GPL that no one recognized or thought of when the GPL was invented. It was never anticipated that a useful program could have its functionality distributed to the public without distributing the program itself. However that's exactly what many web applications do. Of course, you're still free to use the regular GPL for your software if you prefer. Most GPL software will likely remain GPL for the indefinite future.

Thursday, November 22, 2007 (Permalink)

Landon Fuller continues to lap Apple with the second Developer Preview release of Java 6 for Mac OS X (Intel). "(Nearly) everything up to and including Swing (X11) is functional. Sound is not currently supported." This is an open source project based on the OpenJDK. It is not an official Apple release. This release adds support for Mac OS X 10.4 Tiger.

Wednesday, November 21, 2007 (Permalink)

MySQL A.B. has released Eventum 2.1, an open source issue tracking system designed for the needs of technical support teams in particular. This is mostly a bug fix release. Eventum is published under the GPL.

Tuesday, November 20, 2007 (Permalink)

Landon Fuller, who does not work for Apple, has posted the first Developer Preview release of Java 6 for Mac OS X 10.5 (Intel). "(Nearly) everything up to and including Swing (X11) is functional. Sound is not currently supported." This is an open source project based on the OpenJDK. It is not an official Apple release. Way to go Landon!

Monday, November 19, 2007 (Permalink)

Bill Pugh of the University of Maryland has released FindBugs 1.3.0, an automated open source tool for finding potential bugs in Java code. New rules in this release include:

  • NoteDirectlyRelevantTypeQualifiers
  • ReflectiveClasses
  • SynchronizationOnSharedBuiltinConstant
  • OverridingEqualsNotSymmetrical
  • CheckTypeQualifiers
  • EQ_DOESNT_OVERRIDE_EQUALS
  • SAME_SIMPLE_NAME_AS_SUPERCLASS
  • SAME_SIMPLE_NAME_AS_INTERFACE
  • UNRELATED_TYPES_USING_POINTER_EQUALITY
  • DEAD_STORE_OF_CLASS_LITERAL
Sunday, November 18, 2007 (Permalink)

Sun's posted the first release candidate of NetBeans 6.0, its pure Java IDE for various platforms.

Saturday, November 17, 2007 (Permalink)

FFE Software, Inc. has released FirstSQL/J Embedded Mobile Java DB 3.10. "Embedded Mobile is a special packaging of the standard FirstSQL/J Java DB for a small footprint, supporting JME and suitable for other embedded configuration." It supports JDBC and SQL 92. The product is so expensive FFE is too embarrassed to put the price on their web site.

Friday, November 16, 2007 (Permalink)

Yesterday I got briefly excited when I saw that Sun's stock price had jumped above $20. For the first time in quite a few years, my Sun stock was in the black, and I did some quick research to figure out what had caused the bump, and whether I should get out while I could. Unfortunately it turned out they had just reverse split the stock 1-4, so my shares were still worth about half what I paid for them. The higher stock price may allow a few more institutional investors to participate, and drive a small bump in the price. Then again, it may just prop up a temporarily higher cliff for the stock to dive off of. I should probably just dump the shares now, and be done with it.

Thursday, November 15, 2007 (Permalink)

Sun has posted the first maintenance review change log for JSR 220: Enterprise JavaBeans 3.0. Changes appear quite minor. Comments are due by December 17.

Wednesday, November 14, 2007 (Permalink)

ej-technologies GmbH has released version 5.1 of JProfiler, a $698 payware profiler based on the Java virtual machine profiling interface (JVMPI that can report on CPU usage, memory size, threads, and "VM telemetry" (whatever that is). New features in this release include:

  • Tree views of incoming and outgoing references in the heap walker reference view
  • Cumulated references as a tree table in the heap walker reference view
  • Action to select all exclusively referenced objects in the heap walker reference view
  • Type resolution of object arrays in memory views and heap walker when profiling with Java 5+

Upgrades from 5.0 are free.

Tuesday, November 13, 2007 (Permalink)

Steve Roy has released MRJ Adapter 1.1, an open source library that implements a unified API for developers to access Mac specific functionality built into the various versions of the Macintosh Runtime for Java (MRJ). MRJ Adapter enables developers to add Mac specific functionality to their applications without compromising the cross-platform nature of their application. MRJ Adapter also "incorporates many little tricks known only to seasoned Mac Java programmers, such as how to bring up a file dialog to pick a folder, or how to set up a menu bar when no frame is opened, which is a normal state for a Mac application that isn't natively supported by Java." Version 1.1 fixes bugs and is now compatible with Mac OS X Leopard. MRJ Adapter is published under the Artistic License.

Monday, November 12, 2007 (Permalink)

Landon Fuller has made significant progress on porting the FreeBSD JDK to Mac OS X. Not everything works yet, but Swing does, which is further than I think anyone else has gotten. According to Fuller, "There are, of course, still some significant bugs, and I'm continuing to work on hotspot Darwin i386 ABI stack alignment issues. I think things are probably a week or so away from a day-to-day usable amd64/Leopard release, and farther for i386/Leopard & Tiger."

Sunday, November 11, 2007 (Permalink)

Apple has posted a developer preview of Java for Mac OS X 10.4, Release 6 on the Apple Developer Connection (first born child required). This release updates the Java on Mac OS X Tiger to versions 1.5.0_13 and 1.4.2_16. Still no sign of Java 6. :-(

Thursday, November 8, 2007 (Permalink)

The Legion of the Bouncy Castle has released version 1.37 1.38 of the Bouncy Castle Java Cryptography API, an open source, clean-room implementation of the Java Cryptography Extension (JCE). It supports X.509 certificates, PKCS12, S/MIME, CMS, PKCS7, TEA, XTEA, SHA224, and lots of other juicy acronyms. It also includes its own light-weight crypto API that works in Java 1.0 and later, and does not depend on the JCE. According to the announcement:

This release adds the VMPC stream cipher, performance improvements to both the ASN.1 and CMS libraries and the BCPGInputStream class can now handle packets in the 2**31->2**32 - 1 range. In addition a bug that could cause TlsInputStream to return an early end of file has been fixed, and a Bleichenbacher vulnerability in simple RSA CMS signatures without signed attributes has been removed.

Download it while it's still legal.

Wednesday, November 7, 2007 (Permalink)

The Eclipse Project has released Eclipse 3.3.1.1, an open source integrated development environment (IDE) for Java and C++. It also doubles as a base platform for your own applications, an alternative to the AWT and Swing, and a powerful floor wax and dessert topping. This appears to be a bug fix release. Java 5 or later is required, though it can compile for earlier versions of Java.

Tuesday, November 6, 2007 (Permalink)

Ingo Rockel has released TDA 1.5. a small Swing GUI for analyzing thread dumps generated by the Sun Java virtual machine. It calculates statistics, shows locked monitors and waiting threads, and detects long running threads. TDA is published under the LGPL.

Monday, November 5, 2007 (Permalink)

Tomorrow, Tuesday, November 6, Extreme Tuesday New York meets at D.B.A in the East Village, 41 1st Ave, between 2nd and 3rd streets starting at 6:30. I'm going to try to stop by for at least a little while.

Saturday, November 3, 2007 (Permalink)

Neal Gafter has written a prototype closures implementation for Java 6. According to Gafter,

This is binary-licensed under the JRL, but if a JSR is created I expect to license it under GPLv2. There are a few small test cases included.

This prototype supports

  • the BGGA function type syntax
  • closure literals
  • the closure conversion
  • the null type, disjunctive types, and exception transparency
  • definite assignment
  • Unreachable and completion transparency.
  • Catching multiple exceptions at once like catch(X1|X2 ex) { ...
    [not closely related to closures but the implementation was simple once closures are there]

This prototype does not yet support

  • a closure using a mutated variable from the enclosing scope
  • nonlocal control-flow (break, return, and continue)
  • the control invocation statement and loop abstractions

I'm intentionally distributing it before these features are available. The idea is that people can try this version, and compare it to the next version with these features working.

Friday, November 2, 2007 (Permalink)

Sun's posted the Call for Papers for JavaOne 2008. Deadline is November 16. The conference takes place May 6-9 in San Francisco. I don't yet know whether I'll be attending, but I'll probably try to work out a way to go if time permits.

Thursday, November 1, 2007 (Permalink)

Sun has published the early draft review of JSR-311, JAX-RS: The Java API for RESTful Web Services in the Java Community Process (JCP). Despite the name what this really is seems to be is a generic HTTP server API. There's no client side component, no support for non-HTTP RESTful services, and "will be sufficiently flexible to support a variety of HTTP applications including WebDAV[6] and the Atom Publishing Protocol[7]." WebDAV is of course the poster child of non-RESTful Web services.

I no longer think this API is a bad thing. If it's done right, it could be quite useful. There's some very interesting stuff in here, and I can see some clear use cases. I'm not at all sure it should be more RESTful than it is. There's a lot to be said for an API that faithfully implements the HTTP spec and leaves it to application developers to design their architectures using RESTful principles. An API is probably the wrong place to enforce architectural decisions (though it can encourage the right ones.) However this API is badly misnamed. REST is not HTTP and HTTP is not REST, though they are related. This API has only a familial connection to REST, and really should be renamed something like the "Java HTTP Server API". Is anyone else really tied of companies jumping on buzzwords they don't understand and don't intend to support? Comments are due by November 23.


Older news:

20072006200520042003
January, 2007 January, 2006 January, 2005 January, 2004 January, 2003
February, 2007 February, 2006 February, 2005 February, 2004 February, 2003
March, 2007 March, 2006 March, 2005 March, 2004 March, 2003
April, 2007 April, 2006 April, 2005 April, 2004 April, 2003
May, 2007 May, 2006 May, 2005 May, 2004 May, 2003
June 2007 June 2006 June, 2005 June, 2004 June, 2003
July, 2007 July, 2006 July, 2005 July, 2004 July, 2003
August, 2007 August, 2006 August, 2005 August, 2004 August, 2003
September, 2007 September, 2006 September, 2005 September, 2004 September, 2003
October, 2007 October, 2006 October, 2005 October, 2004 October, 2003
November, 2007 November, 2006 November, 2005 November, 2004 November, 2003
December, 2006 December, 2005 December, 2004 December, 2003

[ Cafe au Lait | Books | Trade Shows | FAQ | Tutorial | User Groups ]

Copyright 2007 Elliotte Rusty Harold
elharo@metalab.unc.edu