JudoScript is a free beer, closed source scripting language "built on and for the Java Platform. It seamlessly interacts with Java objects, does most operating system shell tasks with many bells and whistles, supports easy and versatile JDBC scripting, XML scripting, built-in scheduler and many other niceties."
Build 641b of the open source OpenOffice suite has been posted for Windows, Linux, and Solaris. This is starting to look usable on Windows. Linux isn't quite as far along. :-(
Three new draft specifications related to Operation Support Systems (OSS) have been posted in the Java Community Process. These mostly seem to relate to telecom systems.
Sun's submitted Java Specification Request 158, JStream Stream Assembly Interface to the Java Community Process (JCP). According to the submission,
The proposed Stream Assembly API is an interface to support real time assembling of audio, video, and generic data streams. This API would provide a unified vendor neutral interface for (typically) server applications to create and modify multiplexed real time media streams over broadcast or IP networks. The goal of this API is to provide a multiplexing application a unified interface irrespective of whether the multiplexing functionality is implemented in hardware or software and irrespective of the type of data transport (broadcast, IP, etc.).
This API will enable discovery, setup, monitoring, and start/stop control of the multiplexer components. Discovery, selection, and manipulation of inputs and outputs of the multiplexer components will be supported by this API.
A multi program or a single program multiplexed MPEG-2 Transport Stream is usually the output of a multiplexer. This API would allow adding, dropping, and changing the components that make the multiplexed stream.
Tables are inserted in broadcast streams which carry the information about the programs and components. The API would also allow table retrieval, modification and insertion.
The API would also support system monitoring, exception, and event handling. Consideration would be given to see if it is appropriate to support redundancy and fault tolerance.
Comments are due by December 10.
Sun's also submitted JSR 159, Java Process Component API (JPC) to the Java Community Process. This "will define a loosely coupled, event based process component model that will simplify the development of composable, customizable services" based on the EDOC Component Collaboration Architecture. According to the submission,
The Java Process Component (JPC) model will allow developers to directly represent a component as a service process that interacts via XML schema based events, produced and consumed through its typed ports. It will provide a facility for combining a group of process components into a collaboration that defines the linkage between their ports and their content types. It will also define a conversation mechanism that allows a developer to specify a stateful interaction sequence between ports.
JPCs will allow developers to directly model event based services as individual components and collaborations. JPC will define both synchronous and asynchronous interaction modes. The JPC container will provide the infrastructure for life cycle management, transactions, security, content flow and content transformation. In addition, JPC containers will provide facilities for exposing JPCs and JPC collaborations as a web service and support the use of a web service within a JPC collaboration.
An important goal of JPC is to enable visual tool based customization and composition of process components.
Comments are due by December 10.
Finally, Sun's submitted JSR 160, Java Management Extensions (JMX) 1.1 Specification to the Java Community Process. This will "extend the Java Management Extensions (JMX) 1.0 specification, by adding the Client APIs. These APIs provide to any Java Manager discovery and access to JMX Agents abstracting the underlying protocol." Comments are due by December 10.
Sun's posted the first beta specification and implementation of the Java 3D API 1.3. Acccording to Sun, 1.3 "will be a minor release of the API."
Sun's posted the Forte for Java Community Edition 3.0 JDK 1.4 Beta 3 Cobundle. In other words, this integrates the Forte IDE with the latest beta of Java 1.4.
The Gnu Classpath Extension Project has posted the first beta of GNU JAXP 1.0. This includes the Ælfred XML parser and supports SAX2, DOM2, and the Java API for XML Processing 1.1 (JAXP). The SAX support fixes a number of bugs that are present in most other parsers. GNU JAXP is licensed under the terms of the GNU General Public License, with the "library exception" which permits its use as a library in conjunction with non-Free software.
Mickey Segal's begun publicly collecting Macintosh Java Bugs. If you have a working demonstration of a bug in a current version of software for Macintosh OS 9 or OS X you are welcome to add it to the list.
The Gnu Classpath Extensions Project has begin work on crypto APIs. The plan is to eventually development Java Cryptography Architecture (JCA) front ends. Development discussion is happening on the classpathx-crypto@gnu.org mailing list which you can subscribe to by sending email to classpathx-crypto-request@gnu.org. The source code is in the classpathX repository in the module called: crypto.
If anybody remembers my travails trying to upgrade the firmware in my Blue & White G3 PowerMac this summer, you'll be happy to know I finally succeeded. Doing so required me to remove all third party hardware from my system including a memory module, a video card, and a SCSI card. Or at least, it required me to remove one of those. I'm not sure which one was getting in my way. I just took them all out. I may now finally be able to upgrade this thing to MacOS X.
Honestly though, I'm seriously thinking about what it would take to move onto Linux exclusively for all my real work. The stumbling block remains AppleScript. For non-Apple users, I'll give you an example of the sort of thing I can do with AppleScript: when I see an interesting quote on a web page, I select it in the browser and click a button. The selected text is automatically copied into my quote of the day database in a completely separate application. Is there anything like that on Linux that allows me to go right inside of different applications and get them to talk to each other in ways their authors never intended? If there isn't, there should be.
Popkin Software has released System Architect 8.5, a modeling software suite that supports Java. Version 8.5 adds support for UML 1.4, a graphical XML schema design tool, database-model synchronization, and a cross-reference matrix editor. This is yet another company that doesn't believe in telling users the price upfront, so you can figure that it probably costs more than it's worth.
In a related update, Friday's similar note embarassed PrismTech into telling me that OpenFusion JDO 1.0 costs $799. Vendors, a word to the wise: you need to be upfront and honest about pricing. Don't try to hide it. It just convinces potential customers that you're trying to screw them, and starts any relationship off in an adversarial position. If the pricing is so high that it's going to drive away prospects, then they weren't really potential customers anyway. Failing to provide pricing upfront just wastes your time and theirs.
I'm pleased to report that after six months of yelling and screaming, I've finally gotten cafeaulait.org and cafeconleche.org out of the hands of Network Solutions, Inc. (NSI) It took a lot of e-mail, not a few phone calls, and some implied threats of legal action. Still, if you've tried unsuccessfully in the past to pry your domains away from the malicious greedheads at NSI, it might be time to try again. I still don't have a registrar that I would recommend. The one I moved to is cheaper and marginally easier to deal with; but over the six month period it took to get these domains moved, they persisted in blaming me for NSI's malfeasance. You would think by now they might have noticed that NSI routinely ignores requests to change registrars; and that if NSI tells them that the request was refused by the administrative contact, that's far more likely to mean that NSI is lying than that the request was actually refused.
Sun's released the Java XML Pack, an all-in-one bundle of various Java technologies for XML. This release (Fall 2001) includes the Java API for XML Processing (JAXP), the Crimson XML parser 1.1.3, the Xalan XSLT processor, and the Java API for XML Messaging (JAXM).
Sun's also posted the final release of the JAXM 1.0 Specification. JAXM is a Java API for SOAP clients and servers.
Finally, Sun's posted the second public review draft of the Java API for XML Registries (JAXR) specification. JAXR "provides a uniform and standard Java API for accessing different kinds of XML Registries. An XML registry is an enabling infrastructure for building, deploying, and discovering web services."
Romain Guy's released version 3.0 of Jext, an open source programmer's editor written in Java. Version 3.0 is now built around an embedded Python interpreter.
JudoScript is a free beer, closed source scripting language "built on and for the Java Platform. It seamlessly interacts with Java objects, does most operating system shell tasks with many bells and whistles, supports easy and versatile JDBC scripting, XML scripting, built-in scheduler and many other niceties."
Build 641b of the open source OpenOffice suite has been posted for Windows, Linux, and Solaris. This is starting to look usable on Windows. Linux isn't quite as far along. :-(
Three new draft specifications related to Operation Support Systems (OSS) have been posted in the Java Community Process. These mostly seem to relate to telecom systems.
Sun's submitted Java Specification Request 158, JStream Stream Assembly Interface to the Java Community Process (JCP). According to the submission,
The proposed Stream Assembly API is an interface to support real time assembling of audio, video, and generic data streams. This API would provide a unified vendor neutral interface for (typically) server applications to create and modify multiplexed real time media streams over broadcast or IP networks. The goal of this API is to provide a multiplexing application a unified interface irrespective of whether the multiplexing functionality is implemented in hardware or software and irrespective of the type of data transport (broadcast, IP, etc.).
This API will enable discovery, setup, monitoring, and start/stop control of the multiplexer components. Discovery, selection, and manipulation of inputs and outputs of the multiplexer components will be supported by this API.
A multi program or a single program multiplexed MPEG-2 Transport Stream is usually the output of a multiplexer. This API would allow adding, dropping, and changing the components that make the multiplexed stream.
Tables are inserted in broadcast streams which carry the information about the programs and components. The API would also allow table retrieval, modification and insertion.
The API would also support system monitoring, exception, and event handling. Consideration would be given to see if it is appropriate to support redundancy and fault tolerance.
Comments are due by December 10.
Sun's also submitted JSR 159, Java Process Component API (JPC) to the Java Community Process. This "will define a loosely coupled, event based process component model that will simplify the development of composable, customizable services" based on the EDOC Component Collaboration Architecture. According to the submission,
The Java Process Component (JPC) model will allow developers to directly represent a component as a service process that interacts via XML schema based events, produced and consumed through its typed ports. It will provide a facility for combining a group of process components into a collaboration that defines the linkage between their ports and their content types. It will also define a conversation mechanism that allows a developer to specify a stateful interaction sequence between ports.
JPCs will allow developers to directly model event based services as individual components and collaborations. JPC will define both synchronous and asynchronous interaction modes. The JPC container will provide the infrastructure for life cycle management, transactions, security, content flow and content transformation. In addition, JPC containers will provide facilities for exposing JPCs and JPC collaborations as a web service and support the use of a web service within a JPC collaboration.
An important goal of JPC is to enable visual tool based customization and composition of process components.
Comments are due by December 10.
Finally, Sun's submitted JSR 160, Java Management Extensions (JMX) 1.1 Specification to the Java Community Process. This will "extend the Java Management Extensions (JMX) 1.0 specification, by adding the Client APIs. These APIs provide to any Java Manager discovery and access to JMX Agents abstracting the underlying protocol." Comments are due by December 10.
Sun's posted the first beta specification and implementation of the Java 3D API 1.3. Acccording to Sun, 1.3 "will be a minor release of the API."
Sun's posted the Forte for Java Community Edition 3.0 JDK 1.4 Beta 3 Cobundle. In other words, this integrates the Forte IDE with the latest beta of Java 1.4.
The Gnu Classpath Extension Project has posted the first beta of GNU JAXP 1.0. This includes the Ælfred XML parser and supports SAX2, DOM2, and the Java API for XML Processing 1.1 (JAXP). The SAX support fixes a number of bugs that are present in most other parsers. GNU JAXP is licensed under the terms of the GNU General Public License, with the "library exception" which permits its use as a library in conjunction with non-Free software.
Mickey Segal's begun publicly collecting Macintosh Java Bugs. If you have a working demonstration of a bug in a current version of software for Macintosh OS 9 or OS X you are welcome to add it to the list.
The Gnu Classpath Extensions Project has begin work on crypto APIs. The plan is to eventually development Java Cryptography Architecture (JCA) front ends. Development discussion is happening on the classpathx-crypto@gnu.org mailing list which you can subscribe to by sending email to classpathx-crypto-request@gnu.org. The source code is in the classpathX repository in the module called: crypto.
If anybody remembers my travails trying to upgrade the firmware in my Blue & White G3 PowerMac this summer, you'll be happy to know I finally succeeded. Doing so required me to remove all third party hardware from my system including a memory module, a video card, and a SCSI card. Or at least, it required me to remove one of those. I'm not sure which one was getting in my way. I just took them all out. I may now finally be able to upgrade this thing to MacOS X.
Honestly though, I'm seriously thinking about what it would take to move onto Linux exclusively for all my real work. The stumbling block remains AppleScript. For non-Apple users, I'll give you an example of the sort of thing I can do with AppleScript: when I see an interesting quote on a web page, I select it in the browser and click a button. The selected text is automatically copied into my quote of the day database in a completely separate application. Is there anything like that on Linux that allows me to go right inside of different applications and get them to talk to each other in ways their authors never intended? If there isn't, there should be.
Popkin Software has released System Architect 8.5, a modeling software suite that supports Java. Version 8.5 adds support for UML 1.4, a graphical XML schema design tool, database-model synchronization, and a cross-reference matrix editor. This is yet another company that doesn't believe in telling users the price upfront, so you can figure that it probably costs more than it's worth.
In a related update, Friday's similar note embarassed PrismTech into telling me that OpenFusion JDO 1.0 costs $799. Vendors, a word to the wise: you need to be upfront and honest about pricing. Don't try to hide it. It just convinces potential customers that you're trying to screw them, and starts any relationship off in an adversarial position. If the pricing is so high that it's going to drive away prospects, then they weren't really potential customers anyway. Failing to provide pricing upfront just wastes your time and theirs.
I'm pleased to report that after six months of yelling and screaming, I've finally gotten cafeaulait.org and cafeconleche.org out of the hands of Network Solutions, Inc. (NSI) It took a lot of e-mail, not a few phone calls, and some implied threats of legal action. Still, if you've tried unsuccessfully in the past to pry your domains away from the malicious greedheads at NSI, it might be time to try again. I still don't have a registrar that I would recommend. The one I moved to is cheaper and marginally easier to deal with; but over the six month period it took to get these domains moved, they persisted in blaming me for NSI's malfeasance. You would think by now they might have noticed that NSI routinely ignores requests to change registrars; and that if NSI tells them that the request was refused by the administrative contact, that's far more likely to mean that NSI is lying than that the request was actually refused.
Sun's released the Java XML Pack, an all-in-one bundle of various Java technologies for XML. This release (Fall 2001) includes the Java API for XML Processing (JAXP), the Crimson XML parser 1.1.3, the Xalan XSLT processor, and the Java API for XML Messaging (JAXM).
Sun's also posted the final release of the JAXM 1.0 Specification. JAXM is a Java API for SOAP clients and servers.
Finally, Sun's posted the second public review draft of the Java API for XML Registries (JAXR) specification. JAXR "provides a uniform and standard Java API for accessing different kinds of XML Registries. An XML registry is an enabling infrastructure for building, deploying, and discovering web services."
Romain Guy's released version 3.0 of Jext, an open source programmer's editor written in Java. Version 3.0 is now built around an embedded Python interpreter.
PrismTech Press has released OpenFusion JDO 1.0, a payware implementation of the Java Data Objects (JDO) specification for transparent persistence to databases.
Pricing is not published, a fairly standard scam which different companies practice for different purposes. Some vendors like to leave pricing unspecified so they can see how much they can milk out of customers, and not leave anything on the table. Other vendors do have standard pricing, but like to make you invest a lot of time listening to their sales pitch before they'll tell you what their product actually costs. That way they figure you'll be more invested in the product and less likely to rule it out immediately because it's overpriced. It's not clear which technique is in effect here.
Yesterday the UK government released a document that was promised to prove Osama bin Laden's culpability for the attacks on 9/11. Unfortunately it does no such thing. It rehashes old evidence about previous attacks, for which he is likely guilty. It points out that he's a rather nasty man with a lot of blood on his hands, and not surprisingly he associates with a lot of other vicious people and murderers. It uses his own words to show that he approves of the criminal actions on 9/11. But when it comes time to actually prove that he knew of the attacks in advance and facilitated them, here's what the report has to say:
62. From intelligence sources, the following facts have been established subsequent to 11 September; for intelligence reasons, the names of associates, though known, are not given.
- In the run-up to 11 September, Bin Laden was mounting a concerted propaganda campaign amongst like-minded groups of people - including videos and documentation - justifying attacks on Jewish and American targets; and claiming that those who died in the course of them were carrying out God's work.
- We have learned, subsequent to 11 September, that Bin Laden himself asserted shortly before 11 September that he was preparing a major attack on America.
- In August and early September close associates of Bin Laden were warned to return to Afghanistan from other parts of the world by 10 September.
- Immediately prior to 11 September some known associates of Bin Laden were naming the date for action as on or around 11 September.
- A senior associate claimed to have trained some of the hijackers in Afghanistan.
- Since 11 September we have learned that one of Bin Laden's closest and most senior associates was responsible for the detailed planning of the attacks.
- There is evidence of a very specific nature relating to the guilt of Bin Laden and his associates that is too sensitive to release.
In other words, we know he's guilty, but you're just going to have to trust us about that. As anybody with a reasonable knowledge of history and a smidgen of skepticism knows, governments always fall back on claims like this when they don't actually have the evidence to back up their assertions. That's why courts of law require proof instead of just locking up or executing whoever the government says is guilty. In fact, the requirement to prove guilt in open court is one of the key diffrentiators between free societies and tyrannies.
What else have we seen in recent weeks? Here are the three most suggestive proposals, all of which indicate to me that the U.S. government is terrified that they might not be able to prove bin Laden's guilt for the 9/11 attacks in a court of law:
Do these proposals terrify anybody else as much as they do me? If the terrorists of 9/11 were trying to destroy our freedom and our way of life, then they may have succeeded. As horrible as the destruction of the World Trade Center and murder of 6000 people was, that may just be the beginning of the damage they did. If these proposals take hold, the terrorists may indeed have destroyed our freedom and our way of life.
Sun's posted the proposed final draft specification for JSR-28 Java SASL Specification. This Specification defines a Java API for Simple Authentication and Security Layer clients and servers. From the draft:
SASL defines a method for adding authentication support to connection-based protocols. To use this specification, a protocol includes a command for identifying and authenticating a user to a server and for optionally negotiating protection of subsequent protocol interactions. If its use is negotiated, a security layer is inserted between the protocol and the connection.
The unique value provided by SASL is in its protocol independence. A handler for a particular authentication mechanism (CRAM MD5, Kerberos, GSSAPI, ...) can potentially be used to authenticate connections over any protocol.
SASL is defined in RFC 2222. RFCs 2245 and 2444 describe particular SASL mechanisms, while RFC 2554 describes SASL used with SMTP. There are a number of Internet Drafts proposing additional SASL mechanisms.
The Apache Avalon Project has posted Phoenix 4.0a2. Phoenix is a "micro-kernel designed and implemented on top of the Avalon Framework. It is both an API to program to and a reference implementation. The reference implementation provides a number of facilities to manage the environment of Server Applications. Such facilities include log management, classloading, thread management and security. In the future it will conditionally offer support extra facilities such as central server management, server pools, and other facilities aimed at reducing the time to market. The API defines a standard method of piecing togther server components and creating a server."
Apple's released MacOS X 10.1.1 via the Software Update control panel. I wouldn't normally post this, but it includes at least one very important fix to the Java virtual machine that will cure strange bugs in many programs. You must have installed the Security Update before 10.1 will see this update. All users should upgrade.
The Jakarta Apache Project has posted "the first stable release" of Slide, an open source WebDAV content management system written in pure Java.
IBM has released Eclipse, an open source integrated development environment (IDE) "for anything, and for nothing in particular." This includes SWT, the standard widget toolkit, which is advertised as an alternative for people dissatisfied with the AWT and Swing. Eclipse runs on Windows and Linux.
The second edition of Java Network Programming has been translated into Japanese.
I've posted The XMLReader Interface, Chapter 7 of Processing XML with Java, on Cafe con Leche. This chapter covers:
XMLReaderFactory
SAXException
InputSource
EntityResolver
to substitute DTD modules and other entitiesDeclHandler
DTDHandler
LexicalHandler
I've still got half the book to go, but I'd venture that this book is definitely starting to be seriously useful, and is a solid introduction to XML parsing for Java developers. In particular, It could certainly be used as a text for an XML course that focused on basic XML and SAX. One more chapter on SAX filters remains to be written. After that, it's on to DOM.
Greg Guerin's released
the WeatherEase Toolkit 1.0,
an open source (Artistic License)
Java class library for working
with digital weather-report data, retrieved in real time from web-based
sources such as NOAA, or from other sources you provide. The data is
decoded into Java objects using classes like Sky
, Wind
, Temperature
, and
WeatherReport
. Your program then manipulates those objects to produce the
output you choose (graphics, text, files, databases, etc.).
A simple configurable GUI demo program is included.
IBM's alphaWorks has updated the Remote AWT for Java, an implementation of the AWT and Swing that enables any Java application running on one host to display its GUI components on a remote host and to receive all the events that are posted to its component in the remote host. This release adds speeds up Swing, supports Java 1.3.1, and provides a new launcher.
Sun's posted sample source code for the uncommitted image file decoders and encoders (codecs) ancillary to Java Advanced Imaging 1.1.1 (JAI). These classes are included in compiled form in the JAI 1.1.1 download bundles under the package hierarchies com.sun.media.jai.codec
and com.sun.media.jai.codecimpl
Sun's posted the proposed final draft specification for JSR-57, Long Term Persistence for JavaBeans 1.0. This offers an API that provides streams to convert graphs of JavaBeans architecture to and from version resilient file formats (typically XML documents).
Sun's posted the proposed final draft specification for JSR-15: Java Image I/O API v1.0. This API supports image reader and writer plug-ins for bitmapped image formats such as TIFF abd PNG. The API supports both metadata as well as pixel data.
Sun's posted the proposed final draft specification for JSR-6, the Java Print Service API 1.0. This is desigfned to be more appropriate for small platforms like JavaCard than the existing Java2D-based print architecture.
CERN's released Colt 1.0.2, an open source infrastructure for scalable scientific and technical computing in Java, with a special emphasis on features needed for high energy physics. providing "efficient and usable data structures and algorithms for Off-line and On-line Data Analysis, Linear Algebra, Multi-dimensional arrays, Statistics, Histogramming, Monte Carlo Simulation, Parallel & Concurrent Programming."
Sun's posted the Maintenance Review Draft Specification for JSR-000917 J2SE 1.4 (Merlin) Beta 3. Mostly this beta makes various minor tweaks in the API. The only major addition is an "Endorsed Standards Override Mechanism". According to Sun,
The Java 2 Platform includes a number of APIs that are governed by third-party endorsed standards. Examples are of such APIs are javax.rmi.CORBA.*, org.omg.*, and org.w3c.dom. Often software developers and vendors would like to use their own implementation of these APIs, or use a version of the external standard other than the version that is implemented in J2SE. To address this need, J2SE 1.4 supports the Endorsed Standards Override Mechansim, which makes use of new system property, java.endorsed.dirs
.
Review closes on December 10.
It now seems likely that Judge Kollar-Kotelly will reject the initial settlement agreement between Microsoft and the Federal government, because at least six of the states that were parties to the original suit refused to go along. Hopefully whatever remedy the judge eventually imposes will be tougher than what the states rejected.
Sun's released version 1.0.3 of the Java 2 Platform Micro Edition, Wireless Toolkit, a:
set of tools that provides application developers with the emulation environment, documentation and examples needed to develop Java technology applications targeted at CLDC/MIDP compliant mobile phones and entry level PDAs. This product is based on the Connected Limited Device Configuration (CLDC) 1.0.3 and Mobile Information Device Profile (MIDP) 1.0.3 reference implementations, and can be tightly integrated with Forte for Java, providing a complete development environment with which developers can write, test and debug applications from start to finish. The J2ME Wireless Toolkit:
- Supports application development from start to finish: from Java source files to MIDlet Suite including jar and jad files, ready for deployment.
- Offers two different GUI-based development interfaces, as well as command line support.
- Allows developers to test their applications on different emulated target devices.
- Enables source level debugging support when integrated with Forte for Java
Slava Pestov's posted the first pre-release of jEdit 4.0, an open source text editor written in Java. This release "has a lot of new features, but is also likely to be very buggy, and the documentation has not been updated for any of the new goodies yet." Quite a few plugins are broken by this release.
Sun's posted the source code for the Java 2 Platform, Enterprise Edition (J2EE) 1.3 under the Sun Community Source License.
I suppose by this time everyone's heard about the proposed settlement between Microsoft and the U.S. Federal government. The states may not agree, but the judge will probably accept the settlement anyway.
The settlement has two major provisions. One requires Microsoft to allow original equipment manufacturers (OEMs) a lot more freedom to bundle alternative operating systems and other software, and to customize the Windows they do ship. The other requires Microsoft to establish uniform public pricing for OEMs so that they can't give Gateway a better deal than Dell if Dell starts shipping Linux and Gateway doesn't. It's unclear whether this agreement could be construed as prohibiting Microsoft from charging OEMs a license fee for every computer they ship, whether or not it ships with Windows. There are also some requirements on Microsft to publish interfaces that their products use to talk to the OS.
If Microsoft adheres to the settlement, this strikes me as an OK deal, certainly better than I expected, especially for Linux. Alternative web browsers, virtual machines, and online services that run on top of Windows are also well protected by this agreement. With regard to alternative operating systems, we should have had this deal back in 1995 in the first Microsoft antitrust trial. The deal reached then was so toothless that Judge Stanley Sporkin refused to accept it. And the current agreement doesn't really address new techniques for extending Microsoft's monopoly beyond operating systems and OEMs such .Net and Passport. Still, better late than never. Certainly, there's more real choice in the OS market today than there was 6 years ago; and that only seems likely to improve in coming years, with or without this agreement. The really big question is whether the government has the will to enforce or Microsoft the willingness to abide by this settlement. I fear the answer to both questions is probably no.
Sun's posted the third beta of the Java 2 Software Development Kit, Standard Edition, version 1.4.0 (a.k.a JDK 1.4) for Windows, Linux, and Solaris on the Java Developer Connecton (registration required). The changes are mostly innocuous.