April, 2004 Java News

Sunday, May 9, 2004

Diomidis Spinellis has released UMLGraph 2.0, an open source (BSD license) tool for declaratively specifying UML diagrams. UMLGraph uses text files that look vaguely like source code to specify how UML class and sequence diagrams are drawn. A doclet converts this into a Graphviz diagram that can be easily converted to Postscript, GIF, SVG, JPEG, etc.


R. Rawson-Tetley has posted SwingWT 0.83, an open source, "100% pure Java library which very closely resembles the interface of Swing. The difference is that instead of using the Swing library, it drives native peer widgets from SWT" (the Eclipse GUI toolkit). With this library, Java/Swing applications can be compiled natively under Linux using gcj. It also allows Swing apps to use native widgets. This release adds support for Swing borders, improves the build process, and fixes bugs. SwingWT is dual licensed under the Common Public License and the LGPL.

Friday, May 7, 2004

Quick question: the NCSA used to run a service at http://hoohoo.ncsa.uiuc.edu/cgi-bin/post-query that would accept any input sent using HTTP POST and return a list of the name-value pairs in the query. This service appears to have been discontinued. Is there any similar service still online anywhere which one could use to test forms? Replies to elharo@ibiblio.org please. I could set something like this up myself, but I'd rather not reinvent the wheel. Thanks!

Update: A couple of people sent me programs to do this. I appreciate the effort, but I'm looking for a reliable service that does this. I am not looking for software to do this myself. I need to use this as for examples in a book, and I can't easily rely on myself or a reader to set this up to run the client side examples. If it comes to that, I'll probably code it up in PHP and host it here on Cafe au Lait, but I'd rather not have to do that.


Novell has posted the first beta release of Mono, an open source implementation of Microsoft's .NET framework that runs on Linux, Unix and Windows. Mono includes "a C# compiler, an implementation of the Common Language Infrastructure and two stacks of APIs: a Unix, Linux, GNOME, Mono stack for APIs that takes the most advantage of your Unix server and desktop and a set of APIs compatible with the Microsoft .NET Framework 1.1 that provides support for ASP.NET (web services and web forms), ADO.NET and many other components."


Sebastiano Vigna has released version 4.2 of fastUtil, a collection of type-specific Java maps and sets with a small memory footprint and faster access and insertion. The classes implement their standard counterpart interfaces such as java.util.Map and can be plugged into existing code. However, they also contain type-specific methods. For instance, the CharList class has not only the usual add(Object o) method but also an add(char c) method. Version 4.2 makes the arrays returned by various methods more type-specific. fastUtil is published under the Gnu Lesser General Public License (LGPL).

Thursday, May 6, 2004

Sun's posted a maintenance draft review for Java Specification Request 151, the J2EE 1.4 Specification. Only one change appears to be suggested. Specifically it allows containers to run without security managers.


The Apache Jakarta Commons Team has released Commons Net 1.2.1 (formerly known as ORO NetComponents), an open source (Apache license) suite of internet protocols implemented in Java including Finger, Whois, TFTP, Telnet, POP3, FTP, NNTP, SMTP, Time and Echo. 1.2.1 is now compatible with versions of Java prior to 1.4.

Wednesday, May 5, 2004

Sun has posted the proposed final draft specification of Java Specification Request (JSR) 177, Security and Trust Services API (SATSA) for J2ME to the Java Community Process (JCP). According to the draft spec,

The purpose of this JSR is to specify a collection of APIs that provides security and trust services by integrating a Security Element (SE). A SE, a component in a J2ME device, provides the following benefits:

  • Secure storage to protect sensitive data, such as the user’s private keys, public key (root) certificates, service credentials, personal information, and so on.
  • Cryptographic operations to support payment protocols, data integrity, and data confidentiality.
  • A secure execution environment to deploy custom security features. J2ME applications would rely on these features to handle many value-added services, such as user identification and authentication, banking, payment, loyalty applications, and so on.

A SE can be in a variety of forms. Smart cards are commonly used to implement a SE. They are widely deployed in wireless phones, such as SIM cards in GSM phones, UICC cards in 3G phones, and RUIM cards in CDMA phones. For example, in GSM networks, the network operator enters the network authentication data on the smart card, as well as the subscriber's personal information, such as the address book. When the subscriber inserts the smart card into a mobile handset, the handset is enabled to work on the operator’s network. In addition to a smart card-based implementation, a SE can also be implemented by a handset itself. Such implementation may utilize, for example, embedded chips or special security features of the hardware. Alternatively, a SE may be entirely implemented in software. This specification does not exclude any of the possible implementations of a SE even though some of the packages are optimized for smart card implementation.

Friday, April 30, 2004

Gerwin Klein has released JFlex 1.4, a free (GPL) lexical analyzer generator for Java written in Java. "JFlex is designed to work together with the LALR parser generator CUP by Scott Hudson, and the Java modification of Berkeley Yacc BYacc/J by Bob Jamison. It can also be used together with other parser generators like ANTLR or as a standalone tool."


Nathan Fiedler has released version 2.23 of JSwat, a graphical, stand-alone Java debugger built on top of the Java Platform Debugger Architecture. Features include breakpoints, source code viewing, single-stepping, watching variables, viewing stack frames, and printing variables. Version 2.23 fixes a couple of bugs. JSwat is published under the GPL.

Thursday, April 29, 2004

The new music video features convinced me to upgrade my iTunes to 4.5 yesterday. They even got me to sign up for an account on the iTunes music store. Then I went looking for videos, and to my amazement, they all seem to be free! Apple seems willing to give (or at least stream) me the video, but wants to sell me the song. As a child of the MTV generation, this seems somehow backwards to me. If I can play the video for free, why should I buy the song? On the other hand, I would love to be able to buy my favorite videos for $0.99 and burn them to a DVD in iMovie. This is something Gnutella does not do well, at least not yet. On the other hand I've yet to figure out why Apple expects me to pay $0.99 for songs that can be downloaded for free from many other places. Perhaps Steve Jobs took too many engineering classes and too few classes in economics.


IBM has released version 1.20 of Jikes, their open source Java compiler written in C. Version 1.20 implements some of Java 1.5, adds new diagnostics including the detection of overflow in integer constant expressions, and has fixed assorted bugs. Jikes is published under the IBM Public License.


Lorenzo Bettini has released GNU Source-highlight 1.9, a GPL'd tool for reading Java, C/C++, Prolog, Perl, PHP3, Flex, ChangeLog, JavaScript, LUA, CAML, SML, and Python code and translating them into syntax highlighted HTML and XHTML. Binaries are available for Unix, and it should compile on Windows with the appropriate libraries. Version 1.9 adds a --no-doc option that overrides the --doc option even if it is implied. Various bugs were fixed as well.


Brian Westphal has released version 3.0.1 of his Java Parser/Parser Generator. It builds parsers from straight EBNF notation files. It's published under the GPL. This release fixes a few bugs.


Mark Stephens has released JPedal 2.16, a pure Java library for extracting content from PDF files and rasterizing them. Text fragments are extracted as XML elements with font and location information. Images are extracted in both their raw formats and their clipped and scaled formats as TIFF, PNG, or JPEG files. Version 2.16 adds a PDF viewer written in Java and published under the GPL. The rest of the library is published under the LGPL.


Michael B. Allen's posted jCIFS 0.8.3, an SMB client library written in pure Java. It supports Unicode, named pipes, batching, multiplexing I/O of threaded callers, encrypted authentication, full transactions, domain/workgroup/host/share/file enumeration, NetBIOS sockets and name services, the smb:// URL protocol handler, RAP calls, and more. The API is similar to java.io.File. Version 0.8.3 fixes a few bugs. jCIFS is published under the LGPL.


Wolfgang Ullrich has released Yet Another Freeware PDF-Composer 1.1, a free (GPL) pure Java program that can combine picture files and other PDF documents to make a new PDF document.


R. Rawson-Tetley has posted SwingWT 0.82, an open source, "100% pure Java library which very closely resembles the interface of Swing. The difference is that instead of using the Swing library, it drives native peer widgets for your platform from SWT" (the Eclipse GUI toolkit). With this library, Java/Swing applications can be compiled natively under Linux using gcj. It also allows Swing apps to use native widgets. Version 0.82 adds a native Linux build script for GCJ, double-buffered graphics contexts, a new JTaskTrayItem component, a JSpinner component, InputMap support, and many bug fixes. SwingWT is dual licensed under the Common Public License and the LGPL.

Tuesday, April 27, 2004

Patrick Duverger has released Kanaputs 1.3, a shell like interpreter for Java that runs Java source code without without first compiling it to byte code. It can be used as an embedded scriptiing lnaguage in Ant files, among other uses.


SuperWaba 4.21a, an open source Java virtual machine for handheld operating systems including PalmOS and Windows CE devices, has been released. SuperWaba is published under the LGPL.


Dan Creswell has released Blitz JavaSpaces 2.0.4, an open source implementation of JavaSpaces that is Jini 2.0 enabled. It implements smart indexing, tuneable persistence, and active/passive lease cleanup. 2.0.4 mostly fixes bugs.

Monday, April 26, 2004

JavaZOOM has released MP3 SPI 1.9 for Java Sound, an open source plug-in that provides MP3 audio format support. This enables you play MP3s from Java and to query audio properties and metadata such as bitrate, channels, frequency, duration , title, album, artist, genre, and track.


Gert Van Ham has released JCE taglib 1.0, an open source library based on the Java Cryptography Extension that adds strong encryption and message digests to Java Server Pages (JSP). JCE taglib is published under the LGPL.


debugtools.com has released version 3.5 of JDebugTool, a standalone graphical Java debugger built on top of the Java Platform Debugger Architecture (JPDA). This release now uses toString() methods more frequently when displaying objects. JDebugTool is $99 (personal)/$199 (corporate) payware.


Excelsior has posted the second beta of JET 3.6 for Linux. Excelsior JET is a Java virtual machine that uses a combination of a traditional native code compiler and just-in-time compilation from byte code. This release speeds up the JIT. JET costs start at 200 and run up to $2300 depending on which version and how much support you want. Support is available by e-mail and Web site only.


Tom Copeland has released PMD 1.7, an open source tool for automatically checking Java code for various classes of bugs. PMD scans Java source code and looks for potential problems including:

1.7 is mostly a bug fix release, but it does improve the Use Singleton Rule in a couple of ways.


IBM's alphaWorks has released version 1.2.1 of the IBM Toolkit for MPEG-4, a Java class library for working with MPEG-4 video and audio. Version 1.2.1 can now playback Shoutcast MP3 live streams. Various bugs have been fixed too.

Sunday, April 25, 2004

I've returned safely from Amsterdam. I'll be playing catch-up over the next few days. Updates will remain slow for a while though while I catch up with various work that was sidelined while I was away, including reviewing the latest SAX pre-release, packaging up the SAX conformance test suite for release, and finishing the next editions of a couple of books.


Sun has extended Microsoft's Java license through the end of 2007. (I guess they're buddies this month. Name calling and hissy fits are scheduled to resume in May, I'm sure.) Java 1.1 isn't dead yet. However, Microsoft encourage customers "to take proactive measures to stay informed about obsolete software and move away from the MSJVM in a timely fashion. The MSJVM is no longer available for distribution from Microsoft and there will be no enhancements to the MSJVM. Microsoft products and SKUs currently including the MSJVM will continue to be retired or replaced by versions not containing the MSJVM on a schedule to be announced."


Apple has released version 1.2 of XCode, though as usual their poorly designed site that violates various principles of the web architecture prevents me from linking directly to it. Developers who've signed Apple's loyalty oath can probably find it somewhere on the Apple Developer Connection.


.NET programmer Raymond Chen doesn't realize it, but he's arguing in favor of checked exceptions.


JetBrains has released IntelliJ IDEA 4.0.3, a popular $499 payware integrated development environment for Java that runs on Windows, Mac OS X, Linux, and Unix. Version 4.0.3 is a minor release that makes "stability improvements and bug-fixes."


Gaudenz Alder has released version 3.3 of JGraph, an open source graph component for Swing that requires Java 1.4 or later. JGraph is accompanied by Graphpad, an open-source diagram editor for Swing that offers Automatic Layout, Printing, Zoom, and much more. It is available in English, German and French. New features in 3.3 include view-local attributes, sizeable in-place editors, and sizing and moving along one axis. Of course, various bugs have been fixed as well.

Wednesday, April 21, 2004

<acronym>GCC</acronym> logoThe Gnu Project has released version 3.4 of GCC, the GNU Compiler Collection. GCC contains frontends for C, C++, Objective C, Chill, Fortran, Ada, and Java as well as libraries for these languages. GCC is a clean room implementation of Java that doesn't use any Sun code, so it doesn't always exactly match Sun release versions, but this is roughly at the Java 1.4 level with some omissions. New features in Java in this release include:


Tuesday, April 20, 2004

Baystar wants its money back.


The Object Refinery has posted version 0.9.18 of JFreeChart, an open source library based on Java2D. JFreeChart can produce pie charts, line charts, various kinds of bar charts, XY plots and scatter plots, time series, high/low/open/close charts, candle stick charts, and combination charts. This release adds polar plots, sorted/unsorted XYSeries, intervals for domain and range markers, and item labels for XYItemRenderers. This is a bug fix release. JFreeChart is published under the LGPL.

Monday, April 19, 2004

Mark Hale has posted version 0.911 of JSci, a class library containing many useful mathematical and scientific functions such as complex arithmetic. The MathML DOM is now "almost fully implemented." New classes include AbstractDoubleVector, AbstractIntegerVector and AbstractComplexVector.

Saturday, April 17, 2004

I arrived in Amsterdam this morning around 8:00 A.M. local time and got to the hotel around 10:00. I had a few hours to kill before my room was ready so I wandered around to see what I could see. This being Amsterdam, there was quite a lot to see, but my absolute favorite was one pair of great tits. I even got a picture of one of them. We don't have tits like these in Brooklyn!

Friday, April 16, 2004

I'm leaving tonight for XML Europe in Amsterdam. I should have Internet access while I'm at the show, but updates will likely be sporadic until I return.


Sun's financials for the 1st quarter of the calendar year (January-March) are out, and for the umpteenth time in a row they aren't good. They lost $760 million, or 23 cents per share, on revenue of $2.65 billion. Revenue was down 5 percent from the same quarter last year.

Thursday, April 15, 2004

NetBeans 3.6, Sun's semi-official open source integrated development environment (IDE) for Java, has been released. The NetBeans team wasn't originally planning a 3.6 release, until it became obvious that Eclipse was eroding their customer base at a rate that was likely to leave them with a market share somewhere just above Roaster's if they waited till 4.0 was ready. The major new feature in 3.6 is JUnit integration including code folding, a TODO window, Automatic insertion of closing bracket/quotes/parentheses, a native look and feel on Mac OS X and Windows, "printing" (really saving) of Java files to HTML, and numerous minor improvements throughout the user interface. NetBeans is written in Java and should run on any reasonably modern JVM on various platforms includings Windows, Mac OS X, and Linux.

Wednesday, April 14, 2004

Rob Lougher has releeased JamVM 1.1.3, a free (GPL) Java Virtual Machine that "conforms to the JVM specification version 2 (blue book). In comparison to most other VM's (free and commercial) it is extremely small, with a stripped executable on PowerPC of only ~100K, and Intel 80K. However, unlike other small VMs (e.g. KVM) it is designed to support the full specification, and includes support for object finalisation, the Java Native Interface (JNI) and the Reflection API." Like most free VMs it relies on the Gnu Classpath library. JamVM only interprets code. It does not have a Just-In-Time compiler.


The Big Faceless Organization has released the Big Faceless PDF Library 2.1.1, a $400 payware (more if you want support) Java class library for creating PDF documents. The $1000 Extended Edition adds the AcroForms support, digital signatures, and the ability to import and edit and existing PDF documents. Version 2.1.1 is a bug fix release. Java 1.2 or later is required.


Michael Koch has posted the GCJ web browser plugin 0.2.3. This free-as-in-speech (GPL) plug-in executes Java applets in Mozilla 1.7 and compatible browsers using the GCJ virtual machine. Version 0.2.3 is now localisable and includes a complete German translation.

Tuesday, April 13, 2004

David Holroyd has posted Java cvprof 0.1.0, a free-as-in-speech (GPL) "source-line coverage profiler for Java code, released under the terms of the LGPL. cvprof is a rewrite of JVMDICover that works under J2SDK-1.3 and J2SDK-1.5 (beta), as well as fixing a few other small bugs (JVMDICover was written by Joel Crisp and others). cvprof is implemented using the Java2 JVMDI interface present in Sun's Java Virtual Machines. It is a native library, loaded into the JVM at startup, that can profile the execution of most Java classes. The reporting portion of cvprof is implemented in the Ruby language. The coverage profile is stored in a BerkleyDB hash file." Output is generated in HTML.

Amusingly, the sample output comes from measuring the test coverage of JUnit's test suite. Some of the holes in JUnit's test coverage are really the result of bugs in cvprof. For instance, it often reports closing braces after a return statement as untested. However, there are also a few methods JUnit isn't testing, it should be. The cobbler's children are barefoot. :-)


Etienne Gagnon has released version 1.1.3 of SableVM, a Java bytecode interpreter (that is, a virtual machine) written in portable C. "SableVM requires an ANSI/ISO C compiler (but preferably GCC) and a POSIX platform. It requires a strong memory model (sequential consistency) on multiprocessor systems." SableVM is available for GNU/Linux. Solaris, Mac OS X, and FreeBSD. Version 1.1.3 improves the build process. SableVM is published under the GNU Lesser General Public License (LGPL).


Websina has released BugZero 3.5.3, a $999 payware Web-based bug tracking system that supports multiple projects, group-based access, automatic bug assignment, file attachment, email notification, and metric reports. Bug Zero is written in Java and can run on top of various backend databases including MySQL. 3.5.3 is a bug fix release.

Monday, April 12, 2004

Sun has posted an early access release of Java Studio Creator, a.k.a. "Project Rave". This is their so-called VB Killer. (Long time Java programmers remember this is Sun's second whack at the VB pinata, the first being the moribund JavaBeans.) Frankly, I doubt any tool based on Java can replace Visual Basic. Java is simply too complex, high-level a language for the vast majority of VB programmers toiling away in corporate development. Still if it make client side Java devlopment easier, it may be a big boon to many exxisting Java developers, and maybe pull a few heads over from the .NET camp. So far it's available for Windows, Linux, and Solaris only. Early reports are that it will run on Mac OS X, but you'll have to install it on another platform and then copy it over first.

The tutorials are annoyingly PDF only. Worse yet, they're linked to via JavaScript so you can't even eaily download them to your disk and print them without doing the "Acrobat plug-in freezes the machine for 2 minutes" dance. Bleah. Hmm, it occurs to me that XML geek and known Acrobat disser Tim Bray has recently joined Sun. Tim, could you do us all out here in Netland a favor and walk over to whichever office produced this page and politely beat the developers upside the head with a clue stick? Thanks.


Not specifically Java related, but I note that XFree86 4.4.0 is out. I haven't tested it yet, but it looks like this release may actually support digital flat panels driven by ARI Radeon cards. At least I hope it will. XFRee86 4.3 could not handle my SGI flat panel at 1600x1024 resolution, even though XFRee86 4.2 could. I'll probably wait till 4.4 gets bundled with some distro to test it.


Bodo Tasche has posted JCalendar 0.7.6, an open source calendar GUI widget for Java that "provides a ComboBox (JCalendarComboBox) for selecting a Date and a simple Panel (JCalendarPanel) for showing and editing a Date." This release adds a few more languages and fixes a few bugs. JCalendar is published under a BSD license.

Sunday, April 11, 2004

The Legion of the Bouncy Castle has released version 1.23 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, 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. Version 1.23 "contains further improvements to the OpenPGP package which improves the range of other implementations we are compatible with and a heuristic decoder has been added which "guesses" whether or not it is dealing with an armored input stream or a PGP binary stream. The OpenPGP examples have been rewritten to take advantage of new API features, and an unpacking problem which was occasionally causing the OpenPGP API to fail doing El Gamal decryption has been fixed. RipeMD160 and RipeMD320 have been added and support for RipeMD has been added to the CMS/SMIME handlers. A number of other bugs and issues have also been addressed." Download it while it's still legal.

Saturday, April 10, 2004

Steve Roy has released MRJ Adapter 1.0.5, 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.0.5 adds support for action commands in the ABOUT and PREFERENCES events and fixes assorted bugs. MRJ Adapter is published under the LGPL.

Friday, April 9, 2004

Ricahrd Monson-Haefel and James Strachan have submitted Java Specification Request (JSR) 241, The Groovy Programming Language, to the Java Community Process (JCP). According to the Groovy web site, "Groovy is a new agile dynamic language for the JVM combining lots of great features from languages like Python, Ruby and Smalltalk and making them available to the Java developers using a Java-like syntax." I haven't looked at Groovy in depth. What I have seen shows some good points and some bad points. What I can't figure out is what's gained by putting this language through the Java Community Process.


Open Cloud and Sun released the final version of JSR-22 Java Advanced Intelligent Networks (JAIN) Service Logic Execution Environment (SLEE) API Specification. "The specification includes complete descriptions of all the interfaces, classes, exceptions and requirements to develop portable telecommunication services and application framework so that services once developed will run on any JAIN SLEE compliant execution environment."


Shortly thereafter Open Cloud and Sun posted Java Specification Request 240, JAIN SLEE (JSLEE) v1.1. According to the JSR:

Briefly JSLEE 1.0 specifies the event and programming model, application lifecycle and management for portable communications application. It additionally specifies the management and lifecycle of the JSLEE container itself. The JSLEE expert group deliberately avoided specifying the Resource Adaptor(RA) architecture as it was felt that this was a non-trivial piece of work and would delay the release of JSLEE 1.0.

The goal of the RA architecture is to allow Resource Adaptor implementations that use and fulfill contracts defined in the JSLEE 1.1 specification to be deployed and run in any compliant JSLEE.

Standardizing the RA architecture for JSLEE will ease the integration of JSLEE based applications into operator networks as a party other than the JSLEE vendor may provide the resource adaptor. For example call control in current mobile networks is delivered by many proprietary signaling protocols, and network specific variations of standardized signalling protocols. Network operators therefore expect significant integration work to be completed before a call control solution is deployed. If the interface between the JSLEE and RA is standardized the responsibility for the network integration could be the Network Operator, the Systems Integrator, the Network Equipment Providor or the JSLEE vendor.


Greg Hinkle has posted the fifth beta of MC4J 1.2, an open source (MPL) GUI interface for Java Management Extensions (JMX) based servers. Supported servers include JBoss, WebLogic, WebSphere, and Tomcat. MC4J is built on top of netbeans 3.6.

Thursday, April 8, 2004

The Eclipse Project has posted a very early alpha of Cheetah, which integrates support for Java 1.5 features such as generics and autoboxing into Eclipse 3.0. You should only test this if you're really interested in Java 1.5 (for myself, I'm finally coming to grips with Java 1.4) and willing to tolerate and report bugs.

Wednesday, April 7, 2004

Sun has released JFluid 1.4.1, a profiler for Java that can profile "an arbitrary subset of a program that can be changed on-the-fly, while the program is running. This is a capability not available in any other profiling tool for Java at this time." JFluid relies on a unique dynamic bytecode instrumentation mechanism and thus only can run on a specially modified HotSpot VM. New features in 1.4.1 include:


IBM's alphaWorks has released the Network Address Monitoring and Messaging API, "an engine and extensible API for monitoring interface addresses and programmatically responding to their changes. This API's versatile Java framework enables programmers to monitor changes of interface addresses, whether they be local to the machine on which the engine is running or accessible by other means. The engine will then invoke customized notification/messaging code, allowing another programmatic method by which updates can be made to services such as DNS, LDAP, RDBMS, or users and/or bots via e-mail."

Tuesday, April 6, 2004

I just read about an interesting open source cryptography project that I was going to write about here today until I found out it's web site doesn't work. When I try to load it, I get a blank page. I'm seeing this more and more lately. It's sometimes but not always feels related to my refusal to accept cookies. It may also have something to do with JavaScript, or JavaScript not being allowed to read cookies. Either way, I don't care. It's the web site's responsibility to use standards conformant pages that work well across browsers, not mine to change my settings to expose myself to privacy invasions and denial of service attacks.

Attentive readers may have noticed I haven't linked to any stories from the San Jose Mercury or included any quotes from the usually astute Dan Gilmore for a while now. That's because a few months ago, silcionvalley.com began exhibiting this problem so I can no longer read their newspaper. No big deal for me. There are plenty of other newspapers on the Web, but they no longer receive traffic from this site. One user group asked me to update the link to their group from my user groups page, but the new site wouldn't display so I deleted them instead. I do not know what causes this problem, whether it's JavaScript, cookies, browser sniffing, or something else; nor do I much care. I just know some sites are turning away a lot of readers because they can't be bothered to serve standards conformant pages that actually work.


Dan Creswell has released Blitz JavaSpaces 2.0.3, an open source implementation of JavaSpaces that is Jini 2.0 enabled. It implements smart indexing, tuneable persistence, and active/passive lease cleanup. 2.0.3 adds a GUI installer, GUI tools for monitoring statistics and shutting down a Blitz instance, and expands the statistics API to include active transactions and instance counts.

Monday, April 5, 2004

Sun's posted the change log for Java Specification Request 59, J2SE Merlin Release Contents. This is a pretty useful document. It really summarizes a lot of the detailed changes in Java 1.5. We've all heard about generics and autoboxing and the other sexy new features. However this gets into nitty gritty issues like to handle proxy servers on sockets, the difference between the URI and URL classes, and whether or not input streams throw exceptions when they can't read anything. Likely nobody needs to read all of this, but I suspect all of us need to read some of it. Comments are due by April 12.


Sun has submitted Java Specification Request (JSR) 239, Java Bindings for OpenGL ES to the Java Community Process (JCP). "This specification, an optional package, will describe the Java bindings to the native 3D graphics library, OpenGL ES. OpenGL ES is largely a subset of OpenGL 1.3 and much of the work derived from JSR 231, Java Bindings to OpenGL (bases on OpenGL version 1.5) will be used in this JSR. The addition of a few OpenGL ES extensions not found in OpenGL 1.3 (or 1.5) will prevent this from being a strict subset of JSR 231."

Sunday, April 4, 2004

Sleepycat Software has posted the first public beta of Berkeley DB Java edition. Berkeley DB JE is a non-relational embedded database written in Java. The data is exposed through "a Java Collections-style interface, as well as a programmatic interface similar to the Berkeley DB API." As near as I can make out, this is payware, but open source products can get a free license if they want to integrate it into their own programs. Java 1.4.2 or later is required.


Michael Koch has posted the GCJ web browser plugin 0.2.2. This free-as-in-speech (GPL) plug-in execute Java applets in Mozilla 1.7 and compatible browsers using the GCJ virtual machine.

Saturday, April 3, 2004

Several people wrote in yesterday to tell me about James Tuley's MacOS X program IEatBrainz. (Great name by the way.) This looks like it's getting close to what I need. I could use a standard program to record analog audio on my PowerBook, import the unidentified tunes into iTnes, and then run IEatBrainz to tag them. Based on the reviews I read, this program isn't quite stable enough yet for my tastes, but in a few months it might be. I'm still surprised that nobody's tried the much easier approach of asking you to identify the artist and album, and then looking up the song information.

Friday, April 2, 2004

And they said it couldn't be done! "The MusicBrainz Tagger application allows you to automatically look up the tracks in your music collection and then write clean metadata tags (ID3 tags or Vorbis comment fields) to your files. As you tag the files in your collection that MusicBrainz didn't recognize, you submit the acoustic fingerprints (TRM ids) of your files back to the server. Submitting acoustic fingerprints will allow MusicBrainz to automatically identify these tracks in the future, so that other people using the Tagger can benefit from the work you have done." Currently the GUI frontend only runs on Windows. However, the backend C library with perl and Python bindings is available for Linux and Mac OS X as well. Now if someone would just finish the port to Linux or Mac OS X (or implement the protocol in Java), and integrate it with an analog ripper, I'd have the tool I've been looking for.


TriActive JDO 2.1 (TJDO) has been released. TJDO is an open source implementation of Sun's Java Data Objects specification that is "designed to support transparent persistence using any JDBC-compliant database." Supported databases include Cloudscape, DB2, Firebird, MySQL, Oracle 8i, Oracle 9i, PostgreSQL, SAP DB, and MS SQL Server. Features include:

Version 2.1 adds transient transactional instances, non-persistent transactional fields, and byte array and Hashtable fields. TJDO is published under the Apache License.


The JavaPLT group at Rice University has posted a new build of DrJava, an open source integrated development environment (IDE) for Java that supports interactive evaluation of expressions. This release makes various small improvements to the user interface. DrJava is published under the GPL and requires JDK 1.3 or later.


Anil Kumar has posted JavaDBF 0.4.0, an open source (LGPL) Java library for reading and writing dBase, Xbase, and dbf files.


Bare Bones Software has released BBEdit 7.1.3. This is a free bug fix update for all 7.0 users. BBEdit is the $179 payware Macintosh text/HTML/XML/programmer's editor I normally use to write this page. Mac OS X 10.2 or later is required. Mac OS 9 is not supported.


"Wiz" has released DateChooser 1.2.5, an open source (GPL) widget for selecting a date from a calendar interface.

Thursday, April 1, 2004

Does anyone know if Joshua Bloch's notes from OT2004 on How to Design a Good API and Why it Matters are online anywhere? Or a recording of the talk? I'd really love to hear this. Drop me a line if you know, and I'll link to it. Update: James Robertson blogged it. I'm still looking for the original.


IBM's alphaWorks has updated Structural Analysis for JavaTM (SA4J), "a technology that analyzes structural dependencies of Java applications in order to measure their stability. It detects structural 'anti-patterns' (suspicious design elements) and provides dependency web browsing for detailed exploration of anti-patterns in the dependency web. SA4J also enables 'what if' analysis in order to assess the impact of change on the functionality of the application; and it offers guidelines for package re-factoring." Registration is required to download the tool, and it may only function for a limited time. It's available for Windows, Solaris, and Linux. I think this is a bug fix release for Windows only.


Older news:

2004200320022001200019991998
January January, 2004 January, 2003 January, 2002 January, 2001 January, 2000 January, 1999 January, 1998
February February, 2004 February, 2003 February, 2002 February, 2001 February, 2000 February, 1999 February, 1998
March March, 2004 March, 2003 March, 2002 March, 2001 March, 2000 March, 1999 March, 1998
April April, 2003 April, 2002 April, 2001 April, 2000 April, 1999 April, 1998
May May, 2004 May, 2003 May, 2002 May, 2001 May, 2000 May, 1999 May, 1998
June June, 2004 June, 2003 June, 2002 June, 2001 June, 2000 June, 1999 June, 1998
July July, 2004 July, 2003 July, 2002 July, 2001 July, 2000 July, 1999 July, 1998
August August, 2004 August, 2003 August, 2002 August, 2001 August, 2000 August, 1999 August, 1998
September September, 2004 September, 2003 September, 2002 September, 2001 September, 2000 September, 1999 September, 1998
October October, 2004 October, 2003 October, 2002 October, 2001 October, 2000 October, 1999 October, 1998
November November, 2004 November, 2003 November, 2002 November, 2001 November, 2000 November, 1999 November, 1998
December December, 2004 December, 2003 December, 2002 December, 2001 December, 2000 December, 1999 December, 1998

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

Copyright 2004 Elliotte Rusty Harold
elharo@metalab.unc.edu
Last Modified April 11, 2004