Jim Buzbee's Hershey Font classes are worth a look. They allow you to do some fairly sophisticated tricks with type.
Suntest has released Beanstalk-0.2. It's available from http://www.suntest.com/JBeta/.
Jim Buzbee appears to have found a security hole in many Java implementations
that may allow an applet to determine the existence or non-existence of various
files on the local file system. This isn't too severe, but it should be addressed.
Near as I can tell, it works by attempting to open URLs to files on the local file system
with AppletContext.showDocument(url, "reader")
. If the file exists, the
call succeeds, and this interrupts a sleeping thread.
If the call fails because the file doesn't exist,
the thread isn't interrupted. By watching for whether or
not the thread is interrupted, the applet can determine if the file exists with a reasonable
level of certainty. I may have a few of the details wrong, but
this seems to be roughly what's happening. Similar problems might arise with
AppletContext.showDocument(url, "_self")
and judicious monitoring of
calls to the applet's stop() method when the page does or doesn't change.
The fix would seem to be not allowing local URLs to be opened.
Beta 10 of Dimension X's Liquid Reality 3D API is now available for Windows 95, Windows NT, Solaris, Irix, and Linux at http:// www.dimensionx.com/products/lr/download/. I suspect this product is going to be irrelevant by the time it's actually released, though. For one thing Sun's going to add a lot of this functionality to Java 1.1 in the coming year. For another, Dimension X doesn't believe in cross-platform development and hasn't yet noticed that most 3-D work is done on the Mac.
Liquid Reality is a pretty clear example of the folly of worrying too much about Java's current limitations rather than what will be possible in the future. Liquid Reality's been in beta for about a year now. When development started, Dimension X chose to write large parts of it in native code because Java was slow and it only really ran at all on Solaris and Windows. Now, while Dimension X is still trying to finish the product, Java is stable on around ten different platforms, and is approaching the speed of native C++ programs on many of those platforms. Yet Liquid Reality is only available on four of those platforms, and won't run inside web browsers on any platform without extra files users won't bother to download and install.
Chances are extremely good that by the time you're actually ready to ship your product, performance and feature limitations and bugs imposed by Java will have been eliminated. If you're starting development now on a product intended for distribution, you should write pure Java with no native code. Otherwise when you're actually ready to ship your product in late 1997 or 1998, you'll discover that you've wasted time and money duplicating Sun's work and produced a platform-dependent program, unusable by 50% or more of the marketplace, and which nobody will actually pay for.
Java RMI on JDK 1.0.2 (with a plug-in to provide Netscape support) is available for Solaris and Windows 95/NT. RMI on JDK 1.0.2 is an interim release only. This release supersedes the prebeta release, and allows RMI applets to be run in Netscape 3.01, the appletviewer, and a special RMI version of HotJava. If you're just experimenting with or learning RMI, you should use the JDK 1.1 Beta version of RMI. However, if you need RMI support in Netscape 3.01 today, then you should use RMI on JDK 1.0.2.
Black Dirt's VBToJava is a $50 shareware program for Windows that converts Visual Basic forms to Java programs. It's an interesting hack, but it misses a lot (mainly because Visual Basic forms are somewhat more expressive than the current AWT). I doubt this will be useful as soon as Java visual tools catch up to the level of Visual Basic, and that's likely to happen sooner rather than later.
For the holidays, here's a gift from the U.K.: a free pack age of scientific classes at http://www.ph.ic.ac.uk/people/halemj/javasci/ Many useful physics, chemistry, and math packages are included. The licensing is unclear at this point, but one may hope that the package and its source will soon be placed in the public domain or GPL'd like all quality scientific software.
Netscape has posted a very buggy pre-release of Navigator 4.0 for Windows 95 and NT (a.k.a. Communicator). It's available on the usual ftp sites (ftp1.netscape.com through ftp12.netscape.com).
Symantec's released Visual Cafe for Windows 95 and NT 1.0. See http://www.symantec.com/banner/007/index2.html.
I've updated the books page. There's nothing much new of note though, mostly a bunch of recycle-worthy tomes thrown together quickly by half-a-dozen authors each.
Development work is starting on a Java class library to be distributed under the GNU General Public License (GPL). If you're interested, join the mailing list by sending e-mail to java-dev-request@greyfox.org with "Subscribe" in the subject.
Sun's released The JavaBeans BDK beta 2 at http://java.sun.com/bean. This release fixes some minor bugs. You can find more details about these changes at http://splash.javasoft.com/beans/bdk_changes.html.
To provide sufficient time to standardize Java-to-CORBA connectivity through OMG, Sun has decoupled JavaIDL from the JDK 1.1 release. JavaIDL, implemented completely in Java, will work on top of JDK 1.1 when it is available.
However, Java IDL alpha 2.2 has been released in the meantime. This release adds source code for all the runtimes for the door ORB, fixes for several annoying bugs, the long-lost idl-demo-echo.nMakefile (and Makefile), an example of how to improve ORB download times for browsers that support downloading of zipped classes, and, especially, NO TIME BOMBS! See http://splash.javasoft.com/JavaIDL/pages/index.html.
The first alpha draft of the functional specification for JavaSpaces is now available at http://chatsubo.javasoft.com/javaspaces/. JavaSpaces are an advanced research topic of Java Systems East (part of JavaSoft), meant to investigate useful tools for distributed environments. From the abstract:
JavaSpaces provide a distributed persistence and data exchange mechanism for code written in the Java programming language. Data is written in entries that provide a typed grouping of relevant fields. Clients can perform simple operations on a JavaSpace to write new entries, lookup existing entries, and remove entries from the space. Using these tools, you can write systems to store state, and also write systems that use flow of data to implement distributed algorithms.
Netscape has released version 1.0 of their the Internet Foundation Classes (IFC). They're now available at http://developer.netscape.com/library/ifc.
Sun has released JDK 1.1 beta 2. This release fixes a few bugs in 1.1 beta 1, and provides source code for the java.* packages.
I've updated the Java FAQ list. New questions include
The JavaBeans Development Kit 1.0 beta is now available from
The BDK beta depends on the JDK 1.1 beta. Based on what I saw at Internet Expo, I expect JavaBeans will be extremely important. I strongly urge you to start working with them now.
I spent yesterday at Internet Expo here in New York. Although dozens of vendors were showing Java wares, very few had useful shipping products. Sun passed out thousands of "Vote Yes For 100% Pure Java" buttons. Allegedly these were sponsored by the "Just Say No To Platform Dependency" Foundation. However, if you really pushed the booth staff, you could get them to admit that this was just another name for Sun. If you pointed out that Sun was contributing to platform dependency by not supporting all platforms equally, they would get quite upset. When it comes to cross-platform support, Sun can talk the talk but they can't walk the walk.
Next I noticed that almost all shipping Java development tools shown at the show were written in C++ and ran only on Windows. The only notable exception was PSE from Object Design. None of the other development tool vendors seemed willing to actually use the tools they were trying to sell.
Another disturbing trends was a plethora of books whose covers claimed they covered Java 1.1, but which at most covered a few out-of-date versions of JDBC or RMI. For the record, as of mid-December, 1996, no book adequately covers Java 1.1. The overall theme of the show seemed to be that over a year after Java was first released, it's still more hype than reality.
Jack 0.6.-10 and Beanstalk 0.1 are now available for download from http://www.suntest.com/JBeta/. Beanstalk is a preprocessor for Jack source that inserts parse tree building actions. Beanstalk hasn't been tested very much yet, so there are certainly bugs, confusions, and misfeatures. The distribution consists of the Java classes, a very simple example, and the beginnings of some documentation.
IBM has a version of the REXX programming language that produces Java byte codes. REXX fans should definitely check this out. Regrettably IBM's Domino web server makes the product extremely difficult to find. It's a shame IBM's corporate culture practically requires that good products like REXX be crippled by awful technology like Domino.
Sun is scheduled to release the first beta of Java 1.1 for Windows 95 and NT and Sparc Solaris sometime today. It will probably be available from ftp://ftp.javasoft.com/pub/.
Mark A. Baker and Ron Resnick have put together some nice Java beans examples. They're available with full source code from their web site at http://www.iosphere.net/~markb/phoenix/p.html.
There have been a number of questions about how I select news for this page. As a general rule I first look to see if there's anything interesting in my mailbox, then surf the web for awhile, and if nothing new and interesting has yet turned up, I look for something on Usenet. If you have a suggestion for a news item, please email it to me at elharo@metalab.unc.edu.
As for what I find interesting, I am mainly interested in development tools, not in applets or web sites that merely use Java. Among development tools I have a strong preference for free tools. My preference runs like this:
Public domain with source > GPL > freeware with source > shareware with source > freeware > shareware > payware with source > payware
In other words, the fewer restrictions there are on the use of a product, the more likely I am to mention it here. I don't like to give free ads for commercial products. I only include payware here if it is exceptionally important or in very widespread use. (However I do admit that I occasionally enjoy tweaking the noses of companies that try to pass off beta quality software or worse as a shipping product. Thus I'll occasionally mention a payware product like Natural Intelligence's Roaster or Microsoft's Visual J++ just to warn people not to buy it.)
Liquid Reality 1.0 beta 9 is now available for Windows 95/NT, Solaris, Irix and Linux. This is mainly a bug-fix release but there are a few minor modifications to the API.
Symantec has released version 2.0 of their just-in-time compiler for Windows 95 and NT. It's still at best a beta and will not work with RMI and possibly other things.
Paul Clip has ported parts of Java to the BeOS in a package called coffeeBEan. There's no AWT or applet support yet though. Metrowerks is working on a more complete port that probably won't be ready until the middle of next year.
Digital has released a Java Developer's Kit for Digital Unix 4.0
The German mirror of Cafe Au Lait has been fixed.
W-Prolog is Michael Winikoff's simple Prolog interpreter written entirely in Java. Source code is available.
Microsoft is now bundling the Metrowerks Java VM with Internet Explorer 3.0 for the Mac.
Jan Newmarch of the University of Canberra has released version 3.0 of his AwtCommand package. awtCommand replaces the standard AWT event handling model with one based on the Command pattern from Design Patterns by Gamma et al. It detaches application behaviour from GUI element behaviour. Whenever an event occurs in a GUI object it passes control to a suitable command object which contains the application code. Java 1.1 may use the JavaBeans event model. This is just the Command class with some additional baggage to handle all sorts of other features that will come with JavaBeans.
Daniel F. Savarese of the University of Maryland has released version 0.3b of his free regular expression package.
An early preview of Dan Page's Lava, a GUI designer for Java is now available. Although it's still quite buggy, it does use LayoutManagers and is written in Java, two traits I wish the various payware competitors shared.
The slides from the first JavaBeans developer event are now online at http://splash.javasoft.com/beans/LongBeach/. The JavaBeans Developer Kit (BDK) 1.0 beta is scheduled to be released in December, 1996. The BDK 1.0 FCS will be ready in the first quarter of 1997.
PCweek has an interesting story about Microsoft's Java plans. In short, Microsoft plans to create a "separate, Windows-specific version" of Java. They also plan to release a native-code Java compiler for Windows.
Symantec has put Preview Release 2 of dbANYWHERE for Windows 95/NT, their database middleware for JDBC, on their web server. dbANYWHERE includes native drivers for Oracle, Sybase, Watcom, MS Access and MS SQL Server as well as ODBC. This preview 2 will expire on 12/15/96, and is limited to 5 simultaneous connections.
Jenni Lateiner has published several examples for Netscape's Barium Internet Foundation Classes. Source code included.
Robert Tolksdorf has put together an interesting list of Programming Languages for the Java Virtual Machine. These are precompilers, interpreters, and compilers which accept languages other than Java as input but produce Java byte code as output.
Cafe Au Lait is now being mirrored at Sunsites around the world, including at:
If you're working in Windows, Microsoft's Java SDK for platform dependent Java is worth a look.
Javasoft has published a draft of the complete, javadoc API documentation for Java 1.1 at http://java.sun.com/products/JDK/1.1/docs/api/packages.html.
Dimension X has released Liquid Reality 1.0b8, a VRML Toolkit for Java. It's based on a native C library though, which makes it more or less useless for everyone doing real Java work. This will probably be superceded by Sun's Java-3D API in a few months.
There's finally starting to be some real information about the Java Electronic Commerce Framework at http://java.sun.com/commerce/.
Javasoft has updated the API overview page at http://www.javasoft.com/products/apiOverview.html several times since I last mentioned it here. The broad picture is the same, but there've been many changes in the details of what's expected in Java 1.1. I've got it on fairly good authority, though, that the page is not yet in sync with what the programmer's at Javasoft are doing, so don't take it too seriously just yet.
The Alpha 3 Release of IBM's Aglets Workbench is now available from http://www.trl.ibm.co.jp/aglets/. Aglets are Java-based intelligent agents.
William A. Bilow, Jr. has written three excellent tutorials or RMI, JDBC, and writing CGI programs in Java. They are available at http://pw2.netcom.com/~wbilow/java/index.html.
Jeeves Alpha2 is now available from http://java.sun.com/products/jeeves/. Some of the new features include:
Thomas Boutell has released the demoware product Baklava, a sprite toolkit for Java.
Apple has released version 1.0b1 of Macintosh Runtime for Java. For the first time a software development kit is also available that lets you embed applets and Java support in your native Mac applications.
Sean Russell has released version 3.0b of jDB, a database engine written in Java.
The Sumatra Project at the University of Arizona has released Toba, a program for converting Java .class byte code files to C. Toba requires Sparc Solaris 2.5. Toba-translated applications run 3-5 times faster than those interpreted by Sun's JDK 1.0.2, which is slower than the same programs run in a good JIT. Furthermore Toba's API does not currently include AWT or dynamic linking. Nonetheless, this is an interesting idea, and the source code is available for people who want to port or improve it.
Issue 3 of the Cafe Au Lait newsletter is now available. In this issue you learn about toString() methods, get Tak benchmark results, and see how to avoid trouble with the IRS.
The pre-beta for RMI and object serialization has been released. This is a must-have item if you're working with either of those technologies.
Black Dirt Software has released a couple of interesting shareware tools that to partial conversions between Visual Basic projects and Java programs and between Windows metafiles and Java animations.
Jesse Berst of PCWeek is collecting a list of what people need to make Java a "robust, dependable, cost-effective enterprise platform." He'll deliver the consensus of responses to Scott McNealy, Eric Schmidt, and Alan Baratz after November 15. Send your thoughts to jesse@jesseberst.com.
IBM's Alphaworks has released J-Empower, a neat tool to embed Java applets inside your C++ Win-32 applications.
IBM's Alphaworks web site is now providing Java support for SNA, Applets can be downloaded over LU6.2 networks, and can use the SNA Common Programming Interface - Communications (CPI-C). The package is free. However, you'll have to fight your way through a plethora of broken pipes, closed sockets, and lost network connections to retrieve it; but what do you expect when IBM's server is powered by Lotus Notes instead of a real web server like Apache?
Asymetrix has released SuperCede 1.0b1, an interactive Java development environment for Windows NT and Windows 95. The beta is free. It includes a flash compiler that generates true native executable files. This beta does not produce byte code files and the Supercede VM doesn't yet do any security checking, so don't throw away Sun's JDK just yet.
Java programmers interested in network servers should check out James, a GPL'd server architecture currently in development by VPRO. It's not ready for prime time yet, but it does come with source and has a very extensible architecture. It's billed as yet another web server, but it seems to be a lot more general than that.
Sun's announced HotJava Views, their first application software for network computers (NCs). It includes a basic email client, a web browser, a calendar, and a contacts file. So far it's not going to give Bill Gates any nightmares. Notably missing is even a rudimentary word processor. The success of the NC is likely to depend heavily on third-party support. Fortunately Sun, unlike Microsoft and Apple, doesn't have a long history of competing with their third-party developers.
Javasoft has redesigned their web site. It now takes longer to load, and is next to impossible to navigate around. There is finally a search function, but Javasoft seems to be operating under the mistaken impression that a search engine is a replacement for traditional links. This is really a disaster. Fortunately most of the old URLs of files seem intact so bookmarks deeper into the site will probably work, and you can use my site map as a launching point. The non-Java version of the site at http://java.sun.com:81/ is an improvement (only two thumbs down), but who's going to guess that you have to go to the non-Java version just to navigate?
The FAQ list has been updated. New questions cover communicating with CGI programs and sending email from applets.
SunTest will be offering a series of courses on Java testing courses starting in November, 1996. The first course will be held at UC Irvine on November 11. The first two and half day course is monopoly-priced at $1800 and is designed for an audience with a working knowledge of a language such as C, C++, or Ada, and a reasonable knowledge of object oriented programming. The course will provide a general introduction to the Java programming language and then focus on various aspects of testing Java applications and applets. (A one-day course that assumed students already knew Java, and cost much less would be more appealing.) For more information see the training page.
SunTest has released Jack, a free parser generator written in Java which produces parsers written in Java. Jack comes with a Java grammar. Jack produces top-down parsers, not YACC-like LR parsers.
The first set of corrections for Unicode 2.0 is now available. Unicode 2.0 is the character set that will be used by Java 1.1.
Symantec's released preview edition 2 of Visual Cafe for Windows. It's still not stable enough to actually use, though.
Version 0.2 of Java-Postgres95 is available from ftp://substance.blackdown.org/pub/Java/Java-Postgres95/Java-Postgres95-0.2.tgz This is a Java front-end to the Postgres95 database which uses sockets to connect to Postgres.
I've made the complete sets of examples, exercises, and corrections to the Java Developer's Resource available for anonymous ftp from ftp://metalab.unc.edu/pub/languages/java/javafaq/ These files are tarred and gzipped.
Symantec's released an early beta of Visual Cafe for the Macintosh. However it's incomplete, buggy, and not worth the download time. Does anyone understand why companies these days feel compelled to release software that's in such poor shape that it will actually decrease their customers productivity? There realy wasn't any need for this product to be released now. It's not as if Symantec doesn't know there are severe problems with Visual Cafe for the Mac and needs beta testers to find them.
The Java Beans Specification 1.0 is now available from http://splash.javasoft.com/beans/.
Javasoft has released Alpha 2.1 of the JavaIDL for Sparc/Solaris and Win32/X86. Java IDL connects Java clients to network servers using the Interface Definition Language (IDL).
Apple has released version 1.0a2 of the Macintosh Runtime for Java. As well as fixing various bugs, this version includes a Java Console window in the Apple Applet Runner for text output from Java applets, lets you to restart and reload applets from the applet runner, and allows you to add new classes to the CLASSPATH. It's only about half as fast as Sun's Macintosh Applet Viewer though.
Corel is previewing Office For Java on their web site. The performance is pretty poor, and it has a tendency to find bugs in your Java environment, but it's interestinc nonetheless. If you're working on your own Java implementation, this makes a nice test of your machine and core packages.
Netscape has released the Barium version of the Internet Foundation Classes. They are now available at http://developer.netscape.com/library/ifc/. Barium represents Netscape's 1.0 API complete candidate for IFC 1.0.
Java 1.0.2 pl2 for Linux has been released. It fixes several bugs and includes a few files that were missing from the pl1 release.
Natural Intelligence has released Roaster DR2.3. It fixes many bugs and supports Java 1.0.2. (finally!) An updater is available from Natural Intelligence's web page.
Microsoft has released Visual J++ 1.0. It's available from most of the usual payware sources for about $99.
Marimba, the company founded by Arthur Van Hoff, Kim Polese, and two other members of the original Java team, has released betas of its first products. Bongo is a GUI interface builder for Solaris and Windows. Castanet is a software distrimution system for intranets and network computers.
Dennis Heimbigner of the University of Colorado has released jb3.0a into the public domain. The jb system takes parsers and lexers generated using the Gnu Bison parser and the flex lexer and translates them into Java. Jb is not itself written in Java, but the parsers and lexers that it generates are in Java. As well as bison, flex, and Java, jb requires TCL.
The revised RMI Specification for the RMI Prebeta and JDK 1.1 beta is now available at http://chatsubo.javasoft.com/current/.
A first glance at changes in the AWT 1.1 is available at http://www.javasoft.com/products/JDK/1.1/designspecs/awt/index.html. There's support for printing and clipboards as well as a completely revamped event model.
I am pleased to announce that the Cafe Au Lait newsletter, available for several weeks on this web site is once again availble by subscription. To subscribe send email to listproc@listserv.oit.unc.edu with the line
subscribe cal First_Name Last_Namein the body of your message. The first issue includes a long look at why (not how) Java and C++ are very, very different, based on the revelations about the genesis of C++ in Bjarne Stroustrup's The Design and Evolution of C++.
Scott Hudson and Ian Smith of the Graphics, Visualization, and Usability Center at Georgia Institute of Technology have released the first beta of SubArctic, a new Java-based user interface toolkit which offers high level animation support, drag and drop interactions, overlapping, transparent, and composable interface objects, lens interactions, and new debugging support techniques. SubArctic also provides the basic widgets for building traditional, static two-dimensional interfaces including buttons, check-boxes, radio-buttons, scrollbars, labels, menus (including pop-up menus), menubars, icons, image buttons etc. All of the standard components are currently implemented using a Motif-like look-and-feel but this can be changed by the programmer. SubArctic's interactors are implemented entirely in Java and thus do not have the AWT "peer" notion. SubArctic is built on top of AWT and uses AWT for its lowest level functionality such as drawing and input event collection. SubArctic interfaces are "hosted" inside AWT objects such as Applets, Frames, and Canvases and as such may be combined with AWT interfaces. SubArctic uses a totally different event model and composition strategy. SubArctic is free and includes full source code.
The ISO has formed a group to study a possible Java standard. The purpose of this Study Group is to coordinate activities during a formal study period leading to possible international standardization of the Java programming language, the Java virtual machine, or alternate programming technologies for World Wide Web applications. To join the mailing list send email to: sc22jsg-request@dkuug.dk with the words "subscribe sc22jsg yourname" in the body of the message.
I've put some corrections to the the Java Developer's Resource online here.
Netscape's released the first beta of their Internet Foundation Classes which will be included in Navigator 4.0. In a stunning display of intelligence and self-interest which aone can only hope will be imitated across the industry, they have paid more than lip service to cross-platform issues by simultaneously releasing it for Windows, the Mac, and Unix.
IBM Has released Alpha 2a of aglet workbench, a Java intelligent agent system.
Max Hailperin is putting together a page of resources for using Java in operating systems courses.
JPP 0.05 has been released. JPP is a preprocessor that adds closures and operator overloading to Java. This version has fixed a bug that prevented its use on Unix platforms is fixed, and may now be stable enough for real use.
Javasoft has started a new moderated discussion of Java security.
The Java FAQ has been updated. There are a few minor corrections and three new FAQs, "What's the difference between Java and Javascript?", "What's the difference between an applet and an application?", and "How do you append data to a file?",
Java 1.0.2 pl1 for Linux has been released. It fixes a number of AWT and threading bugs.
Wilfred Gander and Lorenzo Patocchi have released version 1.0b1 of jaNet, a neural network toolkit for Java.
The new mailing list page describes over thirty different Java related mailing lists.
ObjectSpace has released version 1.1 of the Java Generic Library, a set of container and algorithm classes for Java. Enhancements made since 1.0 include the new algorithms collect, select, reject and inject; non-final Container classes, a new Range class, and improved documentation JGL is free.
There's a problem with the Cafe Au Lait mailing list set-up. Please don't try to subscribe just yet until I can get it straightened out. Thanks.
I pleased to announce the first issue of the Cafe Au Lait newsletter, available now on this web site or by subscription. The first issue includes a long look at why (not how) Java and C++ are very, very different, based on the revelations about the genesis of C++ in Bjarne Stroustrup's The Design and Evolution of C++.
Sun's released draft 0.35 of the Java Beans specification
Version 1.1 of my FAQ list is now online. It's been cleaned up a lot. Many minor errors and misstatements have been fixed; and it now includes substantially expanded coverage of CLASSPATHS and Event handling.
Javasoft has unveiled the Java Developer Connection. Once the fluff is cleared away it looks like a way to get you to prepay for five technical support incidents at $99 per incident, $495 total. This may be reasonable if you need the support. Otherwise I'd pass. Everything else they offer is available for free.
Jeeves Alpha 1.2 has been released. It fixes the 100% CPU utilization bug. Apparently this is a result of a bug in the Date class which Jeeves now works around.
I went to the IMA Expo in New York today. Surprisingly most multimedia companies are just starting to realize the Internet is important, and they're all still floundering around like fish out of water trying to adjust. Mostly they're writing Netscape plug-ins to let browsers play their legacy file formats that were a thousand times too big for the web in the first place. There were only two companies I noticed showing Java development tools, neither particularly impressive. Aimtech showed Jamba for Windows95, and PowerProduction showed WebBurst for the Mac. Both tools produce Java animations. The Jamba demo was canned and not very impressive. You could actually play with WebBurst at the Apple booth, so I did. It crashed two machines in the space of five minutes, and didn't really produce anything interesting before it crashed. Either tool would have been interesting freeware, but neither was worth paying money for.
I've updated, expanded, and corrected the examples on windows, menus, and dialogs from Chapter 17 of the Java Developer's Resource (which is now available at Barnes & Noble, by the way).
A new mailing list to discuss the Win3.1 ADK and the Windows 95 JDK hhas been created. Send a message majordomo@xcf.berkeley.edu with "subscribe win-jdk" in the body to subscribe). Archives are at http://www.xcf.berkeley.edu/cgi-bin/lwgate/WIN-JDK/.
Mocha, the Java decompiler, is back! If you missed it the first time around, download it now.
The latest rumors are placing the final, non-beta release of Java 1.1 in January, 1997. I expect this is an optimistic estimate, unless Sun decides to ditch some of the announced APIs or release it with at least as many bugs as are present in 1.0.2.
Symantec has released a development version of Visual Cafe for Windows 95/NT. It's not yet worth the download time though.
Sun has released version 0.95 of the object serialization specification. (Postscript format only).
Visualize Technologies has released Visualize! 1.1, a library of Java Applets that for interactive two- and three-dimensional graphs including line charts (2D and 3D), area charts (2D and 3D), scatter plots (2D and 3D), bar charts (2D and 3D), pie charts (2D and 3D), and surface plots. Visualize! is adware. (i.e. you're supposed to put up one of those pointless graphical links to Visualize's home page.)
Tomorrow's Back Bay LISA meeting at MIT features Ken Arnold discussing "Distributed Computing in the Java Environment." If you're in the Boston/Cambridge area, it should be worth checking out. The talk will take place September 11, 1996, 7:00-9:00pm, at MIT, Building E51, Room 395. That's at 70 Memorial Drive in Cambridge, MA. You can ftp directions to the meeting from ftp://ftp.bblisa.org/pub/bblisa/directions
Paul Houle of Cornell's Physics Department has written a page explaining how to use Netscape's LiveConnect to write information directly into a browser window.Once the data has been written, the user can print it or save it to a file.
Jeff Aronoff has put together a nice page of annotated Java links with some bias toward the Mac platform. It includes his notes and slides from the Java presentations at Apple's Geek's Week at Pikes Peak.
Jeeves Alpha1.1 is now available from http://java.sun.com/products/jeeves/ . This release has a few bugfixes and changes since the Alpha1 release, mostly related to administering the server. It does not yet fix the 100% CPU utilization bug.
The Java Developer's Resource, my introduction to Java for programmers, has just been published by Prentice Hall. It started out as the tutorial on this web site, though the book form is much revised and expanded. The book is $26.95 and available in bookstores everywhere. I know the NYU computer store in Manhattan has copies, and most other bookstores that stock computer books should have it soon, if they don't already. More details are on the books page or you can check out the examples or exercises, if you like.
Sun has posted a draft Java Beans API Specification for public comment.
Symantec has released Cafe 1.5 for Windows 95/NT. The updater should be on their web site soon.
Microsoft has released beta 3 of Visual J++ for Windows 95 and Windows NT 4.0.
Nik Shaylor has released JPP beta 0.03, a preprocessor for Java, a little reminiscent of ratfor, that adds closures, operator overloading assert macros, and conditional compilation to the Java language. It does this by converting an input .jpp file, into a standard .java file that can be compiled using any standard Java compiler. The .jpp file contains normal Java statements with syntactic extensions for the new features.
fields@ogi.com has put together an interesting page about writing CGI programs in Java.
Sun has released a preview of the likely changes and additions to Java 1.1 for public inspection. Projected release date for a pre-alpha is fourth quarter, 1996.
Hanpeter van Vliet has pulled Mocha from distribution. As you may remember from the August 14 news, Mocha is a freeware decompiler for Java. Apparently a lot of slimy, corporate, greedheads were got the mistaken impressions that their scrolling text applets were big trade secrets. Mr. van Vliet is conducting an online survey to determine Mocha's future. I'm happy to report that votes seem to be running about 30-1 in favor of the free distribution of information. I encourage you to vote too.
IBM's Hursley Research Labs in England have released ADK, a Windows 3.1 port of Sun's JDK v1.0.2 for Win32. The ADK contains everything you need to develop and run Java applets and a simple IDE.
In the latest issue of PC Week, Peter Coffee reports that "the fastest Java we've tested, Microsoft's Visual J++ beta, is already 80% as quick as the fastest C++, Watcom 10.5 (as measured by integer Tak)--with Java speeds still rising." Floating point results are a little worse, but those are improving too. I suspect we'll soon be at the point (if we're not there already) where speed will no longer be a differentiating factor between Java and C++. Those few people who care about squeezing every last bit of performance out of their CPU's will be using Fortran anyway.
Having trouble remembering where exactly you saw that Java commerce API draft spec? or the HTML formatted version of the Java Language spec? To help you find these and other improtant pages at Javasoft, I've added a comprehensive set of links to the most useful pages on the Javasoft web site to the links page.
IBM Japan has released Aglets Workbench, alpha 1. Aglets Workbench is a visual environment for building network-based applications that use mobile agents to search for, access, and manage information on the network. A set of software components lets you compose personalized agents that can roam the Internet, access databases, search, travel, and communicate in a standardized and secure manner.
Kawa 1.0.1, a $45 shareware Java IDE for Windows 95 and NT, has been released.
Neil W. Van Dyke has written an Emacs editing mode for Jasmin files.
Wes Hester is attempting to compile a database of US government Java projects. If you know of or are currently involved in a government Java development effort, please send email to jwhester@cs.nps.navy.mil.
The Jeeves Alpha1 release is now available on the Jeeves web page. Jeeves is a web server and framework for an extensible family of server-side, Java-based network services. It includes the Java Servlet API. Servlets are the converse of applets. In other words they are programs clients can upload to servers to be run on the server in a secure environment. This is a technology release. The main goal of this release is to get feedback, particularly on the Servlet API.
I've put the complete set of quiz questions and exercises from my forthcoming book, The Java Developer's Resource, online. Answers are available for chapters two and three. The rest are coming soon.
Jonathan Hardwick and Jay Sipelstein have published a research paper, Java as an Intermediate Language in which they describe their experience translating NESL into Java. The abstract:
We present our experiences in using Java as an intermediate language for the high-level programming language NESL. First, we describe the design and implementation of a system for translating VCODE--the current intermediate language used by NESL--into Java. Second, we evaluate this translation by comparing the performance of the original VCODE implementation with several variants of the Java implementation. The translator was easy to build, and the generated Java code achieves reasonable performance when using a just-in-time compiler. We conclude that Java is attractive both as a compilation target for rapid prototyping of new programming languages and as a means of improving the portability of existing programming languages.
Thomas Kwan has released a Lightweight Directory Assistance Protocol (LDAP) interface for Java, version 1.0a1. Kwan says the interface supports all RFC1777 synchronous operations. The client is $50 for personal use, $100 for commercial, or $300 for source code. Frankly, anything beyond free is overpriced at this point in time, but LDAP will be a lot more important in the future. Check it out if you're interested in LDAP and X.500.
BulletProof has released version 1.0 of JDesignerPro, an interface designer and code generator for client-server database applications, written in Java. It currently runs only on Solaris, Windows NT, and Windows 95. JDBC is used on Solaris, JDBC and ODBC on Wndows. Given that JDBC isn't exactly finished itself yet, I suspect JDesignerPro's a little premature. Still, a development license is free, so if client-server database applications are your cup of java, you can experiment with JDesignerPro without paying a cent. Client licenses do cost between $10 and $40 depending on quantity. A license that provides guest level access to the general public is only $395, though.
Natural Intelligence has updater updated Roaster to DR 2.3. The primary addition is a graphical interface builder. An updater should be available from their web site Roaster known issues page.
Sam Kareem wants to start a Java user group in the metro Detroit area. Send him email at skareem@netcom.com if you're interested.
Hanpeter van Vliet has released Mocha 1.0b1,
a freeware decompiler for Java that may be the best yet. Unlike the other decompilers
this one produces actual Java source code, not byte code. However, in a stunning act of
hypocrisy, he's tried to obfuscate his own code so that it can't be as easily decompiled.
The source code produced by Mocha is mostly readable,
though the decompiler does seem to get confused by while
loops with complicated
condition tests like
while ((thisLine = theHTML.readLine()) != null) {
Apple has pre-released their Mac OS Runtime for Java 1.0 alpha 1 which is supposed to put a Java virtual machine into the Mac OS. Mainly this is for version 1.1 of Cyberdog (not yet available) but there is also an applet viewer of sorts. You'll need System 7.5 or later and a 68030 or greater Mac.
Curtis Clemens is interested in starting a Java user group in Houston, Texas. Contact him at 76652.1374@compuserve.com if you're interested.
Natural Intelligence has updated the Roaster known issues page to cover Roaster DR 2.1.
Javaworld reports that venture capital firm Kleiner, Perkins, Caufield, and Byers is establishing a $100 million fund devoted to Java startups, and the fund is being financed by Sun, Oracle, Netscape, and as many as seven other hi-tech companies. Fundees include Active Software and Marimba. Read the complete story if you like.
David Engberg reports that version 0.2.5 of guavac, a GPL'd Java compiler is now available. This release fixes bugs from 0.2.4 and improves compatibility with Sun's JDK compiler. This release includes all materials needed to compile a HotJava/Netscape compliant applet. Guavac is written in C++ and should compile on any Unix system. However, this has only been tested under Solaris 2.x, SunOS 4.x, Iris 5.3, HP/UX 9, and Linux 1.x. You must compile with gcc-2.7.2 and libg++-2.7.1 and binutils-2.6 (or later versions). Guavac is available in source code form from ftp://summit.stanford.edu/pub/guavac/ The sources may be a little difficult for non-programmers to compile and use.
Just as in the virus protection industry, people are starting to spread misinformation and paranoia about Java and its security for financial gain. Until now, concerns about Java's security were being addressed primarily within academia and Sun; and the information promulgated was fairly accurate. However, now that the bottom feeders of the software industry have decided to sell Java security enhancers, the lies are starting. See c|net for the full story.
I visited Object Expo/Java Expo at the New York Hilton for a couple of hours yesterday. It runs through Thursday, and if you're in New York, it's worth stopping by. Admission to the exhibits is free; and I am told you can get into the seminars and classes with an Exhibits Only badge.
At least four vendors are showing classes for connecting Java to relational databases. Several vendors are showing limited and unimpressive IDE's. A few more are selling various widgets for between $150 and $500 apiece, though none of them looked like something that couldn't be put together by a competent Java programmer in under a week. However none of them thought to bring their license agreements, and none appeared to have thought much about the problems of licensing applets and Java classes that are routinely copied from machine to machine. It was pretty clear that the market for Java tools is still in its infancy.
Several print publishers were in attendance too. The McGraw-Hill booth on the main show floor was showing a pre-release copy of my book, The Java Developer's Resource. Gary Cornell of Core Java fame was spotted at the Prentice Hall booth. The Addison-Wesley booth had several pre-release books from their Java series including Tim Lindholm's Virtual Machine book and Kathy Walrath and Mary Campione's "The Java Tutorial: Objected Oriented Programming for the Internet." According to the cover, this book is scheduled for release in "August 1995" (sic).
FTP Software's CyberAgent was by far the most impressive and original product at the show. It's a Java based, intelligent agent technology. It will be interesting to see how it fairs compared to servlets with which it partially overlaps. FTP doesn't have a big dog and pony show every hour on the hour like some of the other vendors do, though, just one engineer in a booth with a few computers, so you have seek them out to see what the product will do. Most companies in attendance did bring their programmers and engineers so you could get some fairly deep questions answered.
Sun has released a beta of JOE, Sun's package for connecting Java applets to enterprise applications running on NEO servers through CORBA. Joe includes an OMG Interface Definition Language (IDL) compiler which automatically generates associated Java classes from interface definitions of CORBA objects. To use this you'll need a Solaris 2.4 or later Sparcstation (Will Sun ever stop treating Solaris X86 as the poor stepchild?) running NEO.
Cafe Au Lait is starting to pop up all over the place. Marty Wachter calls Cafe Au Lait a "fine Java site" in the August issue of MacTech.
Joel Jones, a graduate student in computer science at the University of Illinois at Urbana Champaign,has put together a web page tracking the development of various Just-In-Time compilers (JITs). It includes interesting interviews with some of the programmers.
Natural Intelligence has released an updater to Roaster DR2.1 for people who got Roaster bundled with Teach Yourself Java on the Macintosh, Java Programming Basics, or The Java Starter Kit for the Macintosh.
According to The Java Report, "Sunsite has the largest and perhaps best list" of Java user groups. And I've updated it too! Check it out, and see if there's a group in your area..
ObjectSpace has released the Java Generic Library, (JGL or "Juggle" for short), Version 1.0. JGL contains eleven data structures including sets, maps and queues. It also contains algorithms to work with these data structures including sorting, filtering, shuffling, copying, and filling. The JGL is also compatible with the standard java.util data structures like Stack and Vector. Furthermore, wrapper containers adapt Java arrays to the JGL algorithms. Best of all it's free, and source code is included.
Sun is preparing a catalog of commercially available applets and applications written in Java as well as development tools for Java. An application form to be listed in the catalog is at http://www.javasoft.com/aboutJava/javasolutions/index.html. The deadline to be included in the hard copy version is 15 August, 1996.
Metrowerks has released a bug-fix update for the CodeWarrior IDE that fixes a few obscure but annoying bugs and raises the version to 1.6.3. Since Metrowerks doesn't seem interested in telling their paying customers about updates, you also may not have heard about the previous updater to 1.6.2 which added a number of features and fixed some more serious bugs. Given the spam I regularly get from them about whatever bundling deal they've cooked up this month, you would think they could manage to send email or a postcard about updates to customers who paid between $100 and $400 for their product; but apparently that's too much to ask.
The rumor mill says Sun has dumped a few planned features from Java 1.1 to be able to release it in late August, in time for the first generation of Java-based network computers. Java 1.1 will include JDBC and major upgrades to the AWT. It will also have a number of crypto features including signing of applets, data encryption of class structures, and secure socket communications. Streaming audio and video, animation, and collaboration classes will not be included in this release, though.
Sunsoft has released the payware Internet Access PlusPack for Solaris 2.4 and above, both Sparc and Intel. Mostly it's just the usual bundle of tools freely available elsewhere. However the prototype Java Desktop Browser (i.e. HotJava) may be worth checking out if you're running Solaris and you can get your company to pay for it.
Creating Media has released Plug-In Playlets, a collection of six applets for $250. The applets cover the usual, fancy imagemaps, text tickers, and streaming animation. There's a free trial for the next couple of months.
Microsoft has released the first beta of Visual J++, the Java IDE formerly known as Jakarta. Unlike Symantec, Metrowerks and Natural Intelligence Microsoft is not making people pay to beta test it. However Microsoft does want you to endure their horribly designed web site and give them various personal information before getting the software; but you can bypass all that and download it directly from
O'Reilly and Associates recently asked to list my top ten favorite Java books. I'm not sure there are ten currently in print that I really like, but there are a few more than there were a month ago. Nonetheless I think I can just manage to pick my favorite ten, even if I have to stretch a little for the last two. In no particular order they are
For all you Virtual Machine hackers, Jonathan Meyer has released, Jasmin version 1.0, a Java assembler.
All the examples from my upcoming book, the Java Developer's Resource, are now online here.
I've updated the books page.
I've put the examples from Chapter's 1 through 5 and Chapter 10 of my upcoming book, the Java Developer's Resource, online. I hope the book will be on store shelves in early September.
Luke Cassady-Dorion has started an unmoderated JavaCORBA mailing list dedicated to discussing CORBA and Java. To subscribe send email to JavaCORBA@luke.org with "SUBSCRIBE" or "SUBSCRIBE DIGEST" in the subject line.
Javasoft has posted a white paper about JavaBeans, the component architecture for Java at http://splash.javasoft.com/beans/. The JavaBeans API is now scheduled for September release.
Natural Intelligence has released Roaster DR2.1. You can ftp an updater from Natural's ftp site. The primary addition is a debugger. There should be at least one more developer's release (2.2) before Roaster goes final.
Macromedia has released a collection of configurable Java PowerApplets including applets for animation, banners, charts, bullets, icons and imagemaps. All of these have been done before, but Macromedia's done a lot of work to make it easy creating complex instances of such applets.
The Java Language Specification, Version 1.0 is finally online in HTML format. You can ftp the files from ftp://ftp.javasoft.com/docs/langspec-draft5.1-html.zip
Natural Intelligence has lowered the price for Roaster to $129 for a single edition, $199 for a two-issue subcription.
The W3C has released an alpha version of Jigsaw, their prototype for a next-generation World Wide Web server written in Java.
Warren Harris of Netscape has posted a draft of a Java Runtime Interface It is hoped that the JRI will allow application programs to be decoupled from the Java runtime internals by
Sun has released an Alpha 2 of the IDL for Java.
Sun's Java API Overview provides projected release dates for many packages that were announced at JavaOne including Java Beans, Java Commerce API, Java Server API, and more. Notably absent is a timetable for Java 1.1 but I've been hearing rumors of early Fall, 1996,
Studio B has published an interview with me you may find interesting.
Slides from the presentations at JavaOne are available at http://www.javasoft.com/java.sun.com/javaone/sess.pres.html. Some of the technical and design presentations are quite useful. On the other hand virtually everything that was actually supposed to be released at this conference, most notably the JDK 1.1, has been delayed indefnitely.
Metrowerks Code Warrior 9 for the Macintosh including Java support is now shipping.
I've put some of the examples from my upcoming book, The Java Developer's Resource, online. There isn't much commentary yet and a few of the applets have bugs, but you may find the source code helpful. Right now only the examples from Chapters 10-17 and 19 are available. More will be coming soon. No, the book is not in bookstores yet. I'll be sure to announce it here when it is.
The Java Developer's Kit 1.0.2 is available from Sun. It fixes a number of bugs and security holes, and is available on Solaris X86 for the first time. The biggest change is in the Mac version which is a huge improvement over the previous release. It now includes support for networking, command-line applications, and, for the first time on any platform, the ability to build stand-alone double-clickable applications.
Sun has released a pre-beta of HotJava for Win-32. It's still allegedly just a technology demo, but it is interesting. A Mac version is promised later.
Symantec has released Cafe for the Macintosh for $99.95. It's PowerMac only and needs 16 MB of RAM and 30 MB of hard disk space. The debugger and Just in Time Compiler are missing. The Visual Basic like interface designer has some problems, but it looks promising and future releases may be worth your investment. However, you should skip this version and wait for the bugs to be fixed and the missing pieces to be put in place.
Symantec has released a Just-in-time compiler for Java on Win32 platforms, (JIT for short). It's a free add-on for Cafe owners. I have no idea yet whether or how well it works, but if you already own Cafe, it's probably worth the download.
Laura Lemay and Charles Perkin's Teach Yourself Java for the Macintosh in 21 Days from Hayden Books is incorrectly labeled as having a full version of Roaster on the included CD. This is false. The version of Roaster on the CD is severely crippled. It will not create new projects and will only open the projects on the CD. The book is being recalled (to correct the book, not the CD), and has not yet made it onto many bookstore shelves.
The early reports on Symantec's Cafe IDE for Java are in. Bottom line: It's a 1.0 release with a lot of rough edges, a few bugs, poor documentation and technical support, and an unreliable online order system. This may be a good tool one day, but that day is not today. Wait for at least 1.1 before paying money for this product.
A lot my people have been asking about my upcoming book. The first draft has been submitted to the publisher and is currently in the hands of the editors. The book is not even in galley proofs yet, so pre-release copies are not available. At this point in time all I can tell you is that it will probably be published this summer and should be a fairly complete introduction to Java. I do not know the exact release date, the ISBN number, or approximate price. I do not even know the title for certain. When I know more I will post it here.
I went to the NYU Bookstore today. There certainly are a lot of Java books popping up. It may not be possible for me to keep up with all of them any more but I'll try. Most of them seemed to more or less cover the same material, more or less competently. My two top picks at this point in time are Patrick Naughton's The Java Handbook and David Flanagan's Java in a Nutshell.
Patrick Naughton's The Java Handbook is on store shelves. It's possibly the best tutorial introduction to Java yet.
I've begun putting the exercises and quiz questions from my book online here.
Dan Christopherson has posted some nice notes about the java.awt.ImageObserver class at Intravenous Caffeine.
Innovative Software's OEW for Java version 0.9 is available for free on their web site for Windows 95, Windows NT, OS/2, Solaris and HP-UX. The Object Engineering Workbench for Java is a graphical design and documentation tool for Java applications. It includes object-oriented analysis, design, implementation and documentation of Java- applications in a stand-alone IDE. OEW for Java has a built-in code manager which automatically translates the classes and relationships in OEW's graphical user interface into Java code and vice versa. Documentation facilities automatically generate Java-style documentation of your project, either as HTML, plain text, or as an RTF document that can be imported by many word processors.
David Flanagan's Java in a Nutshell is out from O'Reilly and Associates. It's a good introduction to Java for C programmers and an excellent reference for everyone. At $14.95 it's also a real bargain.
Sun has released early alpha's of an IDL and RMI for Java. See http://splash.javasoft.com/pages/intro.html
.
Symantec has released Caffeine, a patch to their Macintosh C++ IDE that supports Java. You will need the current version of Symantec C++ for the PowerMac with Project Manager 8.04 or later. 16 megabytes of RAM is required. You can buy the trade up version for $149.95 direct from Symantec or through the retail channel.
IDG's JavaWorld is now online. Worth checking out.
This site is now mirrored at SunSITE ICM in (Poland). If you're not in North America and you've been having trouble getting the larger files, this may be a better option.
Sun has released the first beta JDK for the Mac. It can only run applets and it's very memory hungry, buti it's here. It's available from ftp.javasoft.com and the usual mirrors.
Natural Intelligence has released the first update to Roaster. It is available now from their ftp site. The update adds support for AWT scrollbars and standard input and output (always problematic on the Mac) as well as various bug fixes and speed improvements.
Laura Lemay and Charles Perkin's Teach Yourself Java in 21 Days is in bookstores now. It's far and away the best book on Java yet, and the first one that is actually better than what's available for free online. It's a little pricey at $39.99 but my local Barnes and Noble was selling it for $29.99. Buy it.
Cyberian Outpost has raised the price of Roaster to $289.95 plus $5 shipping. Apparently the earlier, $249.95 price was a typo.
Several members of the Java team, Arthur van Hoff, Sami Shaio, and Kim Polese, are leaving Sun to form a Java startup together with Jonathan Payne of Starwave.
Sun has released version 1.0 of the JDK for Windows 95, NT and Solaris. You can download it from ftp://ftp.javasoft.com/pub/. There are a number of bug fixes and one change to the class library: java.lang.StringBuffer is now final.
MacWeek claimed that Sun would release a beta of Java for the Mac today. They were wrong.
My copy of Roaster arrived today. And as soon as I got it I find that Cyberian Outpost sells it for $249.95 plus $5 shipping, significantly less than the $318 I paid Natural Intelligence directly. And this after I was told by Natural Intelligence that the only retailer stocking Roaster was the MacTech mail-order store (also $299 plus shipping). Word to Natural Intelligence: Go back to programming and get out of the retail business. You aren't any good at it.
I've finally gotten some verified reports that non-beta testers have received copies of Roaster. It appears to actually be shipping. Roaster is a Java applet (but not application) development environment for the PowerMac, (but not 680X0 Macs). You can order directly from Natural Intelligence by calling (800) 739-1616 or (617) 556-2588. Price is $299 plus shipping. It's also available from the MacTech Mail Order Store. I'd like to give you a phone number for the MacTech Mail Order Store, but they don't appear to have one. Note to webmasters, especially those trying to sell things: you'll sell a lot more if you just include a phone number.
Kelvin Nilsen from Iowa State tell us that he has completed a draft of an API for realtime Java. It is available for your perusal and comments as a postscript file at http://kickapoo.catd.iastate.edu/index.html. Please send comments to real-time-java@iastate.edu.
Noel Enete reports that a new mailing list has been formed for people interested in web servers written in Java. The idea is to help each other adapt Web server code to the needs of each individual site and to share design ideas. Several people have primitive Java Web Server programs written and running already. If you are interested in joining this list, send email to Noel at nenete@jgc.com
.
Jim Friskel reports that there is a new prototype of a Java/HTML IDE for Windows 95 at http://www.inch.com/~friske
It contains:
Natural Intelligence announced Roaster Professional, a new development environment that lets programmers build stand-alone applications in Java, not just applets like Roaster does. Roaster Pro is also supposed to include a visual screen builder and native compilers that compile into native machine code. Roaster Professional will ship no earlier than mid-1996 on the Mac. A Windows version will ship no earlier than the end of 1996. Pricing has not been set, and there is no information about upgrades to Roaster Pro for people who shell out $299 for Roaster today.