January 1999 Java News

Sunday, January 31, 1999

Stephen Drye emailed me that Swing 1.1.1 does have at least one new feature: "HTML and multiline support in _any_ text, including JButtons and JLabels. How to use it is described in CHANGES.TXT. It basically involves using a String which begins with <html> and ends with </html>. This is _very_ handy."

Saturday, January 30, 1999

Sun's posted the first early access release (probably alpha quality) of the Java Servlet Development Kit 2.1 on the Java Developer Connection (registration required). Java 1.1 or 1.2 is required. New features include the ability to serve files and act as a stand alone server.

Friday, January 29, 1999

Sun's posted the first beta of Swing 1.1.1 on the Java Developer Connection (registration required). This is a bug fix release with no new features.

Thursday, January 28, 1999
The Hungry Programmers have released version 0.07 of Japhar for ftp from ftp://ftp.hungry.com/pub/hungry/japhar/source/japhar-0.07.tar.gz Japhar is an open-source project to provide a (mostly) Java 1.2 compliant run-time environment, as well as a complete replacement to Sun's Java development tools. This is the first release that works together with the GNU Classpath project's clean-room replacement for Sun's proprietary Java standard class libraries. This is still not really even an alpha.


Sun's posted assorted JINI System Software 1.0 products on the Java Developer Connection including


IBM's alphaWorks' has released its Self Voicing Kit enables automatic speaking of Java applications. From the alphaWorks Web site:

The SVK features the IBM Access Engine, a new technology that exploits the accessibility features of a Java application. Launched in the background, the Access Engine communicates directly with accessible components in the Java application. Program files, called Perks, tell the Access Engine what to do when specific events occur, such as focus changes, selection, or receiving input from an input device. The Access Engine supports stacking of Perks so that the user interface can be expanded or customized for a particular application. Perks, written in Java, communicate with the Access Engine through toolkit methods. Currently, the Access Engine supports screen reading functions to provide accessibility for blind users. In the future, it can be expanded to provide support for other types of assistive technology.

The SVK is an implementation, using the Access Engine, that automatically speaks your accessible Java application. The SVK is designed to motivate software developers to create accessible Java applications. It lets you quickly add an interface that speaks, which provides blind users access to your software. It also provides a tool to test your application for accessibility. The easiest way to build an accessible Java application is to use Swing 1.1 and follow IBM's guidelines for making Java applications accessible. See http://www.austin.ibm.com/sns/accessjava.html

Perks included with the SVK tell the Access Engine how to speak a Java application as the user navigates through the application components. The default Perk receives input from a standard keyboard.

The SVK also includes a Perk that responds to input from IBM's Screen Reader Keypad, if detected. This Perk defines keypad commands for blind accessibility features such as, reading text, searching for text, and reading font attributes anywhere in the visible portion of your Java application.

To further customize the audio interface for an application, you can modify the existing SVK Perks or create your own custom Perk, and dynamically add it to the existing user interface.

Wednesday, January 27, 1999

Sun's posted about twenty different specifications for various parts of JINI in postscript and PDF format.


Microsoft has backed away from its recent temp contract that tried to steal anything that its temporary employees might win in court. (Can you believe that both Bill Gates' personal fortune and Microsoft's stock price have more than doubled in the last year, and they're still trying to screw the people who helped them reach those heights out of health benefits? Can you say, "Scrooge"? Any artist out there want to do a graphic of Bill Gates as Ebenezer? What's really scary is that Microsoft, like its equally nasty partner Intel, keeps showing up on lists of America's best companies to work for. If Microsoft is the best, I can't imagine what's the worst. Things must be really bad out in Dilbert-land. It's days like this that I'm really grateful to be self-employed.)


MacJikes is a $15 shareware port of the IBM's quasi-open-source Jikes Java compiler to the Mac with a command line interface. Source code is not included.

Tuesday, January 26, 1999

Java 1.2 compatible versions of some former ORO software (OROMatcher 1.1/PerlTools 1.2/NetComponents 1.3.8) are now available. These are free for all uses.

Monday, January 25, 1999

More news from the Mozilla front: The Java source code for Grendel, the Mail/News reader from the old Javagator project, has recently been adopted and is being brought up to date. It's further along then Mozilla's companion mail-news client right now.

Sunday, January 24, 1999
Netscape has released C++ (and a little assembly) source code for a new Java virtual machine/Just-in-time compiler called ElectricalFire under the Netscape public license. ElectricalFire was designed from the start to generate high-performance machine code and to be portable to many different processor architectures. It's currently available on Win32 and X86 Linux. It contains no Sun code, but probably isn't a clean room implementation. According to the FAQ list

The project is just starting to get interesting. On x86 machines, more than 90% of the Java Compatibility Kit (JCK) instruction tests now pass and we are able to run javac, the Java compiler that is itself written in Java.

Support for the java.lang and java.lang.reflect packages is substantial, but far from complete. Basic support is available for java.io. Virtually all other classes, e.g. AWT, do not work at all because they require integration with the VM's native code. (When EF was a commercial product, we were relying on being able to use Sun's JDK1.2 classes and native code to implement virtually all high-level library functionality.) We will work with one of the groups working on free Java class libraries, such as the Classpath project, to add Java standard class libraries. Late-breaking news: Sun's new Java licensing scheme might allow the use of the JDK 1.2 libraries with ElectricalFire. Stay tuned for further updates.


Here's an Internet petition done right without any annoying chain mail spam.

Friday, January 22, 1999
Several people, including David Brown and Brent Whitmore, wrote in to tell me that Instantiations Inc. is a company formed by ex-ObjectShare (formerly ParcPlace/Digitalk) employees including Allen Wirfs-Brock, one of the creators of Smalltalk, who left ObjectShare when it decided to drop Visual Smalltalk. According to Brent Whitmore:

Instantiations arose, in part, out of the frustrations of several key technical players in the old ParcPlace/Digitalk (now ObjectShare) with their management. Allen had been working for years on a PP/DT project called "firewall" that sought produce a Smalltalk that achieves parity with, or exceeds compiled C++ execution speeds. When PP/DT decided to drop the project (which I had heard was within days of release) and deep-six so very much of Allen's work, he decided to seek opportunities elsewhere.

I see the acquisition as a good thing. No one knows how to speed up dynamically-dispatched OO languages, like Smalltalk and Java, as well as Allen and his crew. I have been disappointed that they decided not to sell their compiler directly, though I understand and sympathize with their desire to work with, and not against, the big guys. I just hope that their technology doesn't end up as shelfware. Instantiations has done little to communicate their plans in any effective or inspiring way. They need some good marketeers to make their business model work - someone who can convince the IBMs, Inprises, and Microsofts that their compiler really is worth the big bucks that I suspect they have been seeking.

Dr. Wirfs-Brock published an interesting article about static compilation of Java in the January 1999 issue of the Java Report. Bottom line: polymorphism/dynamic method dispatch really slows Java down. Runtime compilation doesn't help either.


I got yet another chain mail spam petition in my inbox this morning. You know how these things go, "If you are the 50th, 100th, 150th signature, please e-mail the petition to the NATIONAL ASSOCIATION FOR GOOD THINGS". As usual there's no expiration date, no Web address, and no way to add anything more than a name.

Even assuming I agree with the sentiment, these petitions generally just die in my inbox because I don't want to spam my friends. Furthermore, a name alone is not enough information to provide in a petition. A snail mail address is also a good idea, especially if the recipient is a politician.

It seems to me to make a lot more sense to put the petition on a Web site and allow people to sign it there or, better yet, send email or snail mails from the site rather than simply signing a petition. Of course that requires actual work from the Internet novices organizing the petition drive as opposed to sending pointless chain mail spam.

Wednesday, January 20, 1999

Sun has released the PersonalJava emulation environment for testing your applets and applications run in the PerlJava environment (which doesn't have all the APIs of 100% pure Java) a standard Windows or Solaris computer.

Instantiations Inc. (Has anybody ever heard of these people?) is buying and assuming development of Supercede's native Windows compiler for Java. Supercede will leave the Java development tools business.

The DES-III challenge was met in slightly less than 24 hours (23 hours and 15 minutes to be precise) so the full US$10,000 prize will be awarded. Once again, John Gilmore's Deep Crack found the winning key. However, the faster breaking than DES-II appears to mostly be due to luck rather than any technical advances. The winning key was found after only 22.2% of the key space had been searched.


According to CNET News.com, Internet auctioneer Onsale will start selling personal computers and accessories at the "same wholesale price it pays for them...Onsale said it aims to generate a small operating margin from advertising on its Web site, fees for service contracts and leases, and a nominal handling fee for each order". (emphasis mine). I've always known that handling fees in "shipping and handling" were simply scams to allow unscrupulous companies to charge more than the advertised price, but is this the first time I've seen it stated so bluntly.

Tuesday, January 19, 1999

Sun's posted an early access release of version 2.1 of the the JavaOS for Business thin client operating system on the Java Developer Connection (which has been trouble responding for the last day or more). Version 2.1 enhances memory management, stability, performance, serviceability, and National Language Support. This evaluation release includes binary code, publications, help files, and tool kits.

Monday, January 18, 1999

IBM's alphaWorks has released the first alpha of a JDK 1.2 port to AIX.

Alphaworks has also updated JAX , a Java application packaging tool that reduces the distribution size of a Java application stripping out unused members of .class files and zip compression.

Sunday, January 17, 1999

Sun's posted the third early access release of the Java Advanced Imaging API specification. Solaris and Win32 reference implementations are available on the Java Developer Connection (registration required). JDK 1.2 is required for this release.

Saturday, January 16, 1999
Bruce McKinney's story, quoted above, about why he's no longer using Visual Basic, should serve as a cautionary tale for Java. Some other relevant quotes:

Visual Basic designers have chosen to pile more and more doodads on a weak foundation, knowing that doodads, not foundations, sell boxes. Perhaps they've made the right choice, but there's a price to be paid. They exchange the respect of their peers for financial success. Unfortunately, a committee can't choose self-respect over profits. The heart of the problem is that there's no one in charge. No one person designs the language. There's no vision because there is no visionary.

Sometimes it's easier to give users what they ask for than to figure out what they need. I appreciate the problem, but I don't need a language designed by a focus group.
I must admit that Java 1.2 strikes me as relatively visionless with a hell of a lot of doodads.

Friday, January 15, 1999

Kudos to U.S. District Judge John Coughenour for slamming Microsoft's latest efforts to strip its employees of their legal rights by forcing them to sign a contract waiving damages in an ongoing suit over permatemps. The hearing lasted only ten minutes, just long enough for Coughenour to determine that Microsofts' lawyers were behind these illegal and unethical shenanigans. According to Coughenour, "I thought maybe I might hear that this was done by somebody without the advice of counsel and upon reflection of counsel it was realized that it might be charitably described as ill-advised...I thought I might hear that, even if counsel was involved, that upon reflection and with 20-20 hindsight, some might perceive this as being outrageously arrogant." He then suggested that the Microsoft lawyers "suggest to their client that they do the right thing."

In other Microsoft legal news, Microsoft has appealed the preliminary injunction ordering it to modify Windows 98 and other products to conform with Sun's version of Java.

IBM's alphaWorks has released a suite of JavaBeans for working with XML including DOMGenerator, XMLTokenizer, XMLSourceView, XMLTreeView, XMLAttributeView, DTDSourceView, and XMLChildren beans. The suite provides different types of views that help the user to get detailed information about the XML document.

I've made some minor corrections to my class notes for Week 2, Procedural Java, and Week 12, Network Programming, of my Introduction to Java course.

Thursday, January 14, 1999

Neil Taylor has posted a beta (1.0b2) of Jake, a free GUI interface for the javac compiler for the Mac.

Smith Resources has released JaDE 2.0, a $20 shareware, cross-platform IDE for Java that supports Java 1.2. Bundled plugins include: javac, rmic, mpedit, javapp, MassMover, JarIt, NativeEdit, NativeAppletViewer, and JaDEScript. An SDK is provided so that specialized compilers or other tools can be added by writing new plugins.

Wednesday, January 13, 1999
Gerard Ziemski has ported OpenGL4Java to the Macintosh. OpenGL4Java is a native library that allows Java applications to use the OpenGL 3D library.

Version 1.9 of InstantDB is now available. The major addition in this release is ALTER TABLE support. InstantDB is a relational database written in Java free for non-commercial use.

Tuesday, January 12, 1999
IBM's alphaWorks has updated their IRC Client for Java.

Monday, January 11, 1999
IBM's alphaWorks has updated their Install Toolkit for Java with assorted small bug fixes and minor changes.

Version 0.825 of Mark Hale's JSci class library adds some additional graph classes, notably LineGraph3D. All graph classes are now also available in both AWT and Swing flavors. Also new is the JSci.io.MathMLDocument class that exports JSci objects to MathML.

Sunday, January 10, 1999
Andrew Thompson's JSpeechLib version 2.0.1 in a Java interface to the Macintosh Speech Manager, more commonly known as MacinTalk. MRJ 2.1ea3 or later is required.

Saturday, January 9,1999
The W3C has released version 2.0.0 of Jigsaw, their open source reference HTTP 1.1 server. Jigsaw 2.0.0 is written in Java and supports version 2.0 of the Servlet API. The W3C is still using Apache 1.2.6 for their own Web site, however.

The latest twist in Microsoft's ongoing effort to screw over its temporary employees is forcing them to sign a contract promising to forgo any damages they may win in a class action suit against Microsoft. One can only hope the judge will overturn this blatant effort to make an end run around U.S. employment law. However, whether the judge does so or not, I really have to wonder why any highly valuable technical employee would put up with the crap Microsoft shovels down its temps throats. Surely there are other employers in the Seattle area? Microsoft claims nooen's refused to sign the new contract, but that sounds very suspicious to me.

Version 1.1 of the Portable Network Graphics (PNG) specification is now available. All changes are relatively minor and should be backward compatible. These include redefining gamma terms of the desired display output rather than the original scene, new iCCP, sPLT, and sRGB chunks for color correction, and assorted clarifications of what is and isn't allowed.

Friday, January 8, 1999
Kazuyuki Shudo has released version 0.2.4 of shuJIT, an x86 JIT compiler for Linux and FreeBSD JDK 1.1.7.

Inprise has released a beta update to JBuilder 2.0.1 that works with the new JFC javax.swing package naming convention.

Thursday, January 7, 1999
Judge Ronald Whyte has ordered Sun and Microsoft to commence negotiations over resolving their differences about native interfaces to Java. Now if the lawyers and pointy-haired bosses will stay out of the room and let the programmers work out the details, unlikely as that is, this might actually work for the benefit of all concerned.

Wednesday, January 6, 1999
Connectix has announced (but not shipped) PerkVM, a new portable Java virtual machine available for licensing. PerkVM has allegedely been ported to Win 95, Win NT and MacOS and will be available as a Java 2 plug-in. It would be nice if this proves a shortcut to Java 1.2 support on the Mac, which is otherwise at least a year, probably more, away.

I don't normally mention vaporware here, but Connectix does have a long history of thinking differently enough to develop stunningly good, small utilities that nobody else has even conceived of. Most of these dive deeper into the OS than most programmers are comfortable going. RamDoubler, SpeedDoubler, Mode32, and VirtualPC are some of their successes. (I'm not nearly as thrilled with their recent SurfExpress, which so far seems to be just another caching tool in a crowd of dozens, and which has not produced any noticeable speed-ups on my system.) It will be interesting to see what they come up with now that they've turned their eye to Java.


Version 0.9 of the GPL'd FIJI ForthIsh Java Interpreter is now available.

Tuesday, January 5, 1999
IBM's alphaWorks has released a new DynamicAttribute Java bean for performing dynamic expression evaluations. This bean allows you to set calculation rules (conditions), input arguments (properties), and receive an output result visually. For example, you could use it to set the color of the BankBalance field to red, if the value property of BankBalance exceeds the value property of the CreditLimit field.


Microsoft has posted version 2.0.2 of their Windows SDK for Java (VM Build 2435). This release supports Java 1.1 including Sun's Java Native Interface (JNI) as required by the recent court order. It still doesn't support RMI, though you can get the necessary classes from Microsoft's ftp site.

Microsoft's also released a new version (Build 3158) of its own virtual machine for Windows 95, 98, NT and Internet Explorer 3.0.2 and later with JNI support.

Finally, Microsoft's released Internet Explorer 4.5 for the Macintosh. This still ships with Microsoft's abandoned Java 1.0 VM for the Mac, but by default IE 4.5 relies on Apple's Macintosh Runtime for Java which supports Java 1.1 (albeit slowly and unreliably).


Macworld San Francisco gets under way today. I won't be there but I'd like to hear any Java news cares to relate from the show. Apple will be showing QuickTime for Java at Apple booth #1217. However, the final release version Macintosh Runtime for Java 2.1 has been delayed until the end of January. Two sessions are of particular note to Java developers:

Tuesday, January 5: 1:30-3:00 pm:
QuickTime for Java (Macworld/Pro Conference, session C9)
Bill Stewart, QuickTime for Java Architect, Apple
Ron Peters, QuickTime Technology Manager, Apple

Wednesday, January 6: 11:00 am-12:15 pm
Macintosh Java and QuickTime for Java
Alan Samuel, Java Technology Manager, Apple
MRJ 2.1 and QuickTime for Java.
To attend this session, you must RSVP to mwsf99rsvp@apple.com.

Monday, January 4, 1999
I've updated the user groups page. Now if I could just find time to update the books page and FAQ list.

Version 0.7 of the GPL'd FIJI ForthIsh Java Interpreter is now available.

Sunday, January 3, 1999

Kevin B. Hendricks posted some information about the current status of Java on Linux on the java-linux mailing list. Apparently Sun is taking a much more active role in making sure the JDK runs and runs well on Linux than it has in the past. Although this is very good news, the Blackdown JDK port still seems hobbled by the lack of a true open source license, at least compared to other Linux projects. I continue to look forward to the evolution of Kaffe and other true open source VMs and class libraries.

Saturday, January 2, 1999
Sun's released the final version of JFC 1.1 with Swing 1.1 for JDK 1.1. This release features many bug fixes, faster performance overall, the final platform API, a new MacOS look and feel, and a new 100% Pure Java installer. A matching version of the Java Accessibility Utilities is also available.

Sun's also released the specification of version 1.0 of the EmbeddedJava API. EmbeddedJava is a Java environment designed for dedicated embedded devices such as cell phones, pagers, process control, instrumentation, office peripherals, and networking routers and switches. EmbeddedJava applications run on real-time operating systems, and are optimized for the constraints of small memory footprints and diverse visual displays.

Sun's posted a preliminary specification for the PersonalJava Application Environment (PJAE) which describes the facilities that PJAE provides to Java applications. PJAE is designed for networked applications running on personal consumer devices like set-top boxes and smart phones rather than desktop computers. Comments on the spec are due by January 7.

Friday, January 1, 1999
The most recent version of Apple's Macintosh Runtime for Java (2.1EA3) expires today leaving many Macintosh developers stranded. The release version of MRJ 2.1 was supposed to be available before Christmas, but like most software projects it's running late. Would developers please, please stop putting arbitrary expiration dates in your software, betas included? It seems that almost half of the expiring software I see, expires before the next version is released. I know that nobody intends to leave customers stranded by expiration dates. Nonetheless, this doesn't when any friends among your customers.

You can also read the news from December, November, October, September, August, July, June or May if you like.


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

Copyright 1999 Elliotte Rusty Harold
elharo@metalab.unc.edu
Last Modified January 31, 1999