Sun's published the
public review draft specification for
JSR-000013 Decimal Arithmetic Enhancement
This proposes adding floating point
arithmetic to the
which would be especially useful for
financial applications. Currently, this class
uses fixed point arithmetic.
Comments are due by August 27, 2001.
Sun's also published the public review draft of JSR-28 Java SASL Specification. SASL, the Simple Authentication and Security Layer, "specifies a challenge-response protocol in which data is exchanged between the client and the server for the purposes of authentication and optional establishment of a security layer on which to carry on subsequent communications. It is used with connection-based protocols such as the Lightweight Directory Access Protocol (LDAP) v3, and Internet Message Access Protocol (IMAP) v4." SASL is described in IETF RFC 2222. Review of this API closes on September 14, 2001.
The Maintenance Review Change Log for JSR-000915 J2SE 1.4 Maintenance Revision has been posted. This review closes on August 27, 2001.
The Maintenance Review Draft for JSR-000011 JAIN TCAP Specification has been published as well. This "is a specification for the TCAP layer of the Signaling System 7 (SS7) stack." Review closes on August 20, 2001.
The Apache Jakarta Project has released the Avalon Framework 4.0. Avalon is Apache's Java Server Framework separated into six sub projects: Framework, Excalibur, LogKit, Cornerstone, Phoenix, and Testlet. Its purpose is to simplify server side programming for Java based projects. The Avalon Framework formalizes the contracts and patterns used in the other Avalon projects. It is derived from modern software engineering techniques and aims to provide a solid basis on which to build server products.
www.macfaq.com is down due to a DNS screwup. This won't affect most people here. However, if you're sending me email, please do make sure you're sending to email@example.com and not firstname.lastname@example.org. I should have it back up Monday, and perhaps a little sooner. The failure of certain ISP and domain name registrars to offer 24/7 service is certainly not conducive to a stable net.
IBM's alphaWorks has released Robocode, a "programming game that teaches Java in a fun, rewarding manner by letting you create Java 'Robots,' real Java objects that battle it out onscreen against other robots." This would have been fun twenty years ago, but today the cool kids are building real robots.
IBM's alphaWorks has released Jinsight 2.1, a "tool for visualizing and analyzing the execution of Java programs". There's a new port to OS/390 and updates for AIX and Windows.
I've posted XML Protocols, Chapter 2 of Processing XML with Java. This chapter covers XML-RPC, SOAP, and related technologies. As always your comments are much appreciated. Just email them to me at email@example.com. Thanks!
Enhydras's posted beta 2 of Barracuda, "an open-source Presentation Framework designed to make it easier to build servlet based webapps by applying proven client-server patterns to the web development paradigm." Features include a DOM based templating mechanism for better separation of code from content, a UI component model that provides a series of server side widgets (table, list, template, etc) , strongly typed Model-View-Controller (MVC) interfaces like in Swing, an event model that allows event driven programming on the server, a form mapping and validation framework, and localization services.
IBM's alphaWorks has updated the DirectDom Developer Kit. This browser plug-in allows Java applets to directly manipulate the HTML content on a web page by accessing the browser's document object model (DOM).
Bay Equities Inc. has submitted Java Specification Request 143 JavaDesk in the Java Community Process. "JavaDesk provides a standard desktop API across platforms using an MVC model. Applications can control and enhance the desktop using the JavaDesk API." Comments are due by August 6, 2001.
Kevin Herrboldt's posted OpenJNLP 0.4an open source implementation of the Java Network Launching Protocol (JNLP) that enables users to run Java applications directly from the Web. This release starts a new Java virtual machine each time the user launches an app from OpenJNLP. External JVM launching is a significant improvement in behavior, especially for Mac OS X and Mac OS 9 users.
Borland has released JBuilder 5 Personal, a free-beer integrated development environment for Java. JBuilder 5 Personal is available for Windows, Solaris, and Linux in English and French. Pointless, annoying registration and acceptance of Borland spam is required to get this.
Facing intense public pressure, Adobe Systems has withdrawn its support for the arrest and prosecution of Dmitri Sklyarov, the Russian hacker who helped break Adobe's pathetically weak e-book encryption. Unfortunately the case is still in the hands of the DOJ, and Sklyarov is still in jail, but he'll probably be released soon. Nonetheless, he wouldn't be there if not for the DMCA and Adobe's offensive actions in this case in the first place.
This whole affair leaves a very bad taste in my mouth when I think of Adobe, previously a company that I mostly liked and whose products I've used happily for years. I've already started pulling certain mentions of Adobe products in my next book, and replacing them with Adobe competitors like KIllustrator. In the future I'll be a lot less likely to use and recommend Adobe software. And I have a very long memory. To this day, I still don't buy or recommend LaCie hardware because because of the $50 they charged for a mere compatibility upgrade to SilverLining more than ten years ago. Once you alienate a customer, it's very hard to get them to ever come back.
The Apache Jakarta Project has posted the first official beta of Tomcat 3.3. Tomcat is a servlet and Java Server Pages engine for Apache. Version 3.3 implements the Java Servlet API 2.2 and Java Server Pages 1.1. This release fixes various bugs in the last milestone release as well as closing one major security vulnerability.
The Apache Jakarta Avalon sub-project has posted beta 3 of LogKit 1.0, "an easy to use logging toolkit designed for secure performance-orientated logging."
Sun's posted Release Candidate 1 of NetBeans 3.2.1, a Java IDE. This is a bug fix release. Java 1.2 or later is required.
The Apache Jakarta Project has posted Tomcat 4.0 beta 6. Tomcat is a servlet and Java Server Pages engine for Apache. This release boasts the following new and improved features:
Slava Pestov's posted version 3.2pre6 of JEdit, an open source programmer's editor written in Java. This release adds a Windows native launcher for jEdit, anti-aliasing, and Progress 4GL syntax highlighting, as well as many minor changes and bug fixes.
I'm in the process of switching registrars and DNS servers for my domains to get myself out of the realm of Network Solutions. Hopefully, everything will go of without a hitch, but if for some reason you can't connect to www.cafeaulait.org over the next week, try http://www.ibiblio.org/javafaq instead. IBiblio should be untouched by the changes I'm making.
Sun's released Java Web Start 1.0.1_01. Presumably this is a minor bug fix release given the _01 change in the version number, but I couldn't find any release notes to tell me for sure. Update: Aaron Miller found the the release notes here. To summarize, this version upgrades the JRE from 1.3.0_02 to JRE 1.3.0_03 and fixes a bug that caused a hang when displaying a certain security dialog in the DE, IT, FR, SV, and JA locales.
The public review draft specification for the Java USB 0.9.0 API Specification has been posted to the Java Community Process.
Sun's posted the fourth "proposed final draft" of the Java 2 Platform, Enterprise Edition (J2EE) 1.3 Specification to the Java Community Process.
Sun announced quarterly results yesterday for the fourth quarter of the 2001 fiscal year. For the first time in twelve years, lost money during the quarter, $88 million or three cents per share. Revenue was down $4 billion compared to $5 billion a year ago, and pro forma net income dropped to $134 million down from $717 million from the fourth quarter last year.
Microsoft is dropping Java support from Windows XP. This strikes me as a good thing. It's really not needed in these days of Java Web Start and the Java Plugin, and without the Micorosft VM users will be more likely to get the Sun JRE, which is a significant improvement over Microsoft's 1.1 based VM.
SmallEiffel -0.75, the GNU Eiffel Compiler, has been released. (And no, the version number isn't a typo. That really is version negative three quarters.) It will allegedly run on any platforms "for which an ANSI C - POSIX compiler or a standard JVM exists." It can compile Eiffel source to either ANSI C or Java byte codes.
I'm looking for an introductoiry Java book that fully covers the proper organization of classes and packages. Specifically it needs to:
The book I'm looking for needs to do all of these. So far I haven't found any that address the sourcepath. Please send any suggestions to me at the usual address, firstname.lastname@example.org. Thanks!
Nortel Networks has submitted JSR 142 OSS Inventory API to the Java Community Process. This API defines J2EE based interfaces between inventory repositories and other OSS components. Comments are due by July 30.
A new security hole's been discovered in the Tomcat servlet engine for Apache. 4.0-beta-5, Tomcat 3.2.2, and Tomcat 3.3-m4 are all vulnerable. All users should update. You'll need to upgrade to Tomcat 3.2.3 or the latest nightly build of Tomcat 4 or 3.3.
IBM's alphaWorks has updated Snacc for Java, a Java stub compiler for ASN.1. The new version contains precompiled executables for AIX, Linux, Solaris, Windows 95, Windows NT, compiler source code, compilation utilities, ASN.1 run-time library object code and documentation.
Does anybody have a priority code that's good for a free Exhibits admission to Macworld in New York next week? I forgot to register in time. I should probably qualify for press, but MacWorld's always really obnoxious about who qualifies as press and who doesn't. (FYI, if you're a vendor copnsidering where you get the most bang for your trade show dollars, you should know that IDG shows, especially MacWorld, routinely exclude sites like this one from press events despite over 30,000 unique readers every weekday.) Anyway, I absolutely refuse to pay $15 to wander around the show floor and be pitched too, so if anyone does have a spare free pass or registration code, please drop an email to email@example.com. Thanks.
IBM's alphaWorks has released Talk for Java, "an easy-to-use Internet telephone and communication tool that uses audio compression using GSM (as used in cell phones) and includes chatting, file sharing, remote desktop capturing, and more." Talk for Java runs on Windows 95, 98, ME, NT, 2000, Solaris, and Linux. System requirements include compatible sound hardware, a headset with a microphone, and a connection to the Internet.
AlphaWorks has also fixed a few bugs in their Logging Toolkit for Java.
Kevin Herrboldt's released version 0.3 of OpenJNLP, an open source implementation of the Java Network Launching Protocol (JNLP) that enables users to run Java applications directly from the Web. This release features a much improved user interface and some structural changes in the code.
Slava Pestov's posted version 3.2pre5 of JEdit, an open source programmer's editor written in Java. This release adds better error reporting and Omnimark and Velocity syntax highlighting as well as many minor changes and bug fixes.
Greg Guerin's released his open source MacBinary Toolkit 2 for Java, a cross-platform library for working with dual fork Macintosh files. This release fixes a few bugs and adds a couple of minor features.
Three new Java Specification Requests (JSRs) have been published in the Java Community Process. JSR 139 CLDC, Next Generation aims to define a revised version of the Java 2 Micro Edition (J2ME) Connected, Limited Device Configuration (CLDC). Comments are due by July 23.
JSR 140, Service Location Protocol API for Java seeks to "standardize the Service Location Protocol Application Programmer Interface for Java as described in RFC 2614." Review closes on July 23.
JSR-141 SDP API proposes a Java API for the IETF SDP protocol. SDP messages describe multi-media sessions and are included within other protocol messages as payload. Review closes on July 23.
My SGI flat panel monitor is up and running at its full native resolution of 1600 by 1024. The ultimate solution was to upgrade the graphics card to an ATI Radeon VE. Thanks to Luke Tymowski for testing that the Radeon would work in my model Dell. No thanks to Dell, SGI, or ATI for confusing, misleading, and downright false information they provided about the capabilities of their products at various points in the process. SGI originally told me the monitor would work with my existing graphics card, but it didn't. ATI told me that the monitor wouldn't work with their graphics card, but it did. I'm not sure who's more confused. This is the second SGI flat panel I've bought, and the second one I'v had major problems getting to work. Once everything works, this is a a nice monitor; but it seems invariably far too difficult to set up.
Beta 7 of JDOM has been posted. JDOM is a Java-centric API for processing XML documents. This release adds:
createXXX()methods to simplify subclassing)
detach()method for all tree objects
The API is in general not compatible with beta 6, so you will need to rewrite your code to upgrade to beta 7. The same basic functionality is there so mostly it's a matter of changing some method names.
The first beta of KDE 2.2 has been posted. New features include IMAP support, a revamped printing architecture, KPersonalizer, Kooka, and much more.
I went to see A.I. last night. Without giving away any spoilers, let's just say there's a really good, thought-provoking movie there, which is followed by thirty minutes of absolute crap. Doing a phantom edit on this film would be really easy: just lop off everything that occurs after the 2000 year gap. This easily could have been the best science-fiction movie Spielberg ever made. Instead it turns into sappy drek even less plausible than E.T. and Close Encounters of the 3rd Kind. In fact, I'd venture to say it's on a par with Young Sherlock Holmes. If Spielberg really needed a happy ending that badly, I think the Wizard of Oz solution would have been far more plausible and less damaging to the rest of the picture.
Greg Guerin's posted what he hopes is the final beta of his open source MacBinary Toolkit 2 for Java, a cross-platform library for working with dual fork Macintosh files. This release fixes a few bugs and adds a couple of minor features.
Slava Pestov's posted JEdit 3.2pre5, an open source programmer's editor written in Java. This release adds reverse search, and syntax highlighting for Ada95 and BCEL Java disassembler syntax as well as many minor changes and bug fixes.
Wasp 3.0, a static Java code analyser for Windows and Linux, has been released. Wasp uses data flow analysis to detect various problems with Java, Modula-2, and Oberon-2 programs such as:
Wasp is $299 payware. A crippled lite version is also available.
Greg Guerin's posted the fifth beta of his open source MacBinary Toolkit 2 for Java for working with dual fork Macintosh files. This release fixes a few bugs.
I need some help from a PC hardware guru today. I've got a new SGI flat panel monitor. Unfortunately, contrary to what the SGI salesperson told me it is not fully compatible with my existing video card. So I need a new video card with a DVI port that will support it under NT 4.0 at its full 1600 by 1024 resolution. An SGI technical support person (who promised to email me back last night but didn't) suggested an ATI Radeon VE. However, near as I can tell that is an AGP 2x/4X card, and what my four year old Dell PC has is just an AGP port. i.e. this is one of the earliest AGP ports used on motherboards. Furthermore, with the exception of one overly expensive and out-of-stock Oxygen PCI card, all cards that advertise support for my SGI monitor seem to be AGP 2X/4X cards.
Now here's the question: will any of these cards work in my regular, early AGP port under NT 4.0? I wasn't able to track down anything obviously on point at various sites on the Internet. My tenth edition of Scott Mueller's Upgrading and Repairing PCs seemed to imply that it was all in the card and not in the port, but it didn't quite come out and state it that bluntly. Nobody seemed to address the question of what, if anything, was the difference between the variants of AGP (except that 2X was faster and 4X was faster still) and how I could tell what I can actually use in my PC. If anybody can enlighten me, I'd greatly appreciate it. Please email me at firstname.lastname@example.org. Thanks!
IBM's updated their Logging Toolkit for Java with support for Java 1.1.
I'm pleased to announce my latest book project, Processing XML with Java. I'm more excited by this project than I've been by any book in a long time. This is a comprehensive tutorial covering all aspects of Java programs that read and write XML documents. It picks up where the XML Bible left off, and covers SAX, DOM, JDOM, XML-RPC, SOAP, JAXP and as many other acronyms as I can cram into seven hundred pages.
Processing XML with Java will be published by Addison-Wesley next Spring. So why am I announcing it now? Because the entire book is going to be written and posted here on Cafe con Leche first! Every word, every figure, every piece of code is going to be published in HTML right here. Chapter 1, XML for Data, is available now. Other chapters will follow about one per week. The entire book will be updated and corrected several times a day as I write it.
There's no fee or registration required to read the book. Just start reading at page 1 and go from there. I do hope you'll send in any comments or corrections you have as you read, and I certainly hope you'll consider buying a paper copy next year when the book is released; but for now the book is completely free. In the immortal words of Abbie Hoffman, "Free means you don't have to pay."
Sun's released the JDBC API Test Suite 1.2.1a. This is used to test JDBC drivers for conformance to the Java 2 Platform Enterprise Edition (J2EE).