[UKUUG Logo] Copyright © 1995-2004 UKUUG Ltd



Newsletter Section 3


Java vs ActiveX

(Reviewed by Lindsay Mashall)

[lindsay] When we were discussing articles for this issue, it seemed natural that there should be something about Java and ActiveX. (Though thinking about it now, it doesn't seem so obvious – after all there is currently no support for ActiveX under UNIX!) So, I had a look around to see what was what and got a bit of a surprise.

Not being a user of Internet Explorer on any platform and not being a PC user at all, I hadn't really paid much attention to ActiveX. I knew that it was supposed to be Microsoft's answer to Java, and I had heard rumours that the Microsoft campus had a Java camp and an ActiveX camp; oh, and I had heard the stories about rogue ActiveX applets too. However, I had assumed that ActiveX was a programming language of some kind, or at least a well structured set of libraries that would allow you to create little programs, reminiscent of Java applets. (By the way have you noticed that the first five letters of applet spell APPLE? Funny old world isn't it.)

How wrong can you be? I suppose I should have known better since this was a Microsoft product after all. If you have been reading my Java rants in the last few issues, you'll know I am not a worshipper at that particular shrine; but I do have Java enabled on my browser and I have even seen one or two useful applets in the last month or two. But let me tell you now, under no circumstances that I can forsee will I ever enable support for ActiveX in its present form, on any browser, on any machine that I use. No way, no how, not ever, never! Not even if Bill himself asked me to do it. The bottom line is that ActiveX is basically a way of running any Windows program on your machine. (Given this, I am still unclear how they intend to support ActiveX on more than just PCs, but actually I would be much happier if they never bothered to try.)

What put me in this state of mind? Well, you may or may not know that I run the web site for the RISKS mailing list (just the website not the mailing list!), which you can currently access at http://catless.ncl.ac.uk/
. So I have at my fingertips the best source of information on the Net about all kinds of problems with computer systems. I ran a quick search for ActiveX and read the various articles – my best advice to you is to do the same. Java, for all its faults, is supported by most browsers (though not all!) using the “sandbox” model. That is, any applet that is run is severely restricted in what it can do, especially with respect to accessing your

local system. No file creation or anything like that. The JVM also carries out checks on applets before it loads them. You can't change this, it's how it is meant to be. ActiveX on the other hand gets by with a user selected option for High, Medium or Low security, which, to be fair (I know it's not like me), defaults to High, but is very easily changed. Oh yes, and ActiveX applets come with a digital signature to tell you who wrote them.

Mircosoft's view is that people don't want to run boring old applets, they want to run fully featured multimedia extravaganzas that use the full power of the machine. (Once they have downloaded the many Megs over their 28.8Kb lines of course.) Which is why there now exist fully digitally signed applets that will wipe your hard disc when you run them. Even better is the ActiveX module, demonstrated recently in Germany, that searches your system to see if you have Quicken installed and if you are using it to communicate directly with your bank. If this is the case, it quietly schedules a transfer of money out of your account, and of course, if you are using Quicken properly, it knows exactly how much money you actually have in there at the time. We must thank our lucky stars that our up-to-the-minute, Internet ready, UK banks don't give us the opportunity to expose ourselves to this risk!

This, we are told, is perfectly OK, because: 1) people download untrusted software from the Internet all the time; and 2) the digital signature tells us who wrote the module. I agree that I do load software from the Net, but for UNIX, not for virus- prone PC systems. Oh, and the digital signature? Well, I suppose you have to write it down on a piece of paper before you run the ActiveX just in case, because if it wipes your disk, you aren't going to have a lot of traces left!

If you are on an access controlled internal Intranet, I can see that ActiveX could be useful – you can load programs as and when you need them, and you can trust the source from which they come. But in the wild, blue yonder of the Internet you would be crazy to trust an arbitrary ActiveX module that you pick up on your travels. Microsoft keep making announcements about the security of ActiveX, but none of them go any way to reassuring me of the inherent flakiness of the system. If you want to know the details, check out the articles in Risks – they have pointers to other relevant sources of information.

Java vs ActiveX? Java wins hands down. (The only reason I can actually bear to type this, is that for all I detest the Java hype, I detest Microsoft hype even more!)

Lindsay Marshall is a lecturer in the Department of Computing Science at the University of Newcastle upon Tyne. He has some UNIX DECtapes and a paper tape machine in his office.

CHAMELEON - TCP/IP Applications for Windows

(Reviewed by Mick Farmer)

I first received this product (Version 4.0) some six to nine months ago when my UNIX system (BSD/OS 2.1) was connected to my wife's system (Windows 3.1) by a null modem cable, connected via the COM ports.

Installation was straight-forward, but for some reason I couldn't convince CHAMELEON that my primary interface was a point-to-point ppp link. Finally, I

contacted NetManage's help desk and a very helpful person told me that it was a bug in the software! So, beware.

Two months ago, I finally got around to installing an Ethernet cable downstairs and our respective systems are now connected at a nominal 10Mbps. I contacted NetManage and they sent me Version 4.5 which, once again, installed without problems. This time though, customisation was simple. The windows-based program was happy with my Ethernet card (a cheap NE2000 clone) and it only took a few minutes to complete the minimal details: IP address, subnet mask, host name, and domain name. Customisation modified a number of files, including autoexec.bat , config.sys , protocol.ini , system.ini , and win.ini , though the previous versions were retained as backup files. Following instructions, I ran ping on my local IP address and it worked. Rushing ahead, I pinged my UNIX system and, oh bliss, this worked. We were in business! It goes without saying that my UNIX system happily pinged my wife's system.

Once initial setup had been completed, there were further customisation steps:

.     Setting passwords - this prevents unauthorised users from changing the configuration; yes, you never know what someone might do.

.     Default gateway - multiple gateways; no, not applicable in my case as we're dependent on one dial-out line.

.     Frequent destinations - bypasses ARP; yes, to my UNIX system.

.     Domain servers - a centralised name server; yes, my UNIX system is the primary for our local domain.

.     Host table - a hard-wired host/IP address translation; yes, it saves an ARP request and reply for our local hosts.

It's also possible to alter aspects of the various interfaces, but this is so general that it's not worth covering here.


There are 38 network applications in this package, some are familiar to UNIX users, some handle configurations, some are, in my view, gimmicks. I experimented with about half of them.

.     Electronic mail. A well-organised package. It supports SMTP (tested) and POP2/POP3 (not tested) for sending and receiving mail. The MUA supports MIME. It's necessary to create mail accounts for each person using the system, but you'd expect that on a PC. A special postmaster account acts as the mail administrator. Although I didn't try every feature, the windows-based MUA was reminiscent of exmh , which I use on my UNIX system.

.     Phone Tag and Tag-It! Over the top handling of memos.

.     Talk and In Person. A traditional talk implementation, and an interesting white board system that I couldn't test completely as I didn't have a remote client. Pity about that.

.     NEWTCal. Another on-line calendar.

.     NEWTScan. A scanner application that expects me to have an HP DeskScan II-CX. Sorry.

.     Websurfer and Personal Web Server. The browser isn't as sophisticated as Netscape (my favourite), but NetManage probably don't spend much time developing it. The server worked, but I didn't have the resources to test it under load.

.     Automatic Internet. A little gimmick that lets you subscribe to an ISP by completing an on-line form. Unfortunately, only four ISPs were represented, all of them based in the USA! The documentation states that a secure phone call is used to communicate with the registration server. I didn't test this application.

.     Gopher and Archie. These worked well in the limited environment I had for testing.

.     FTP and TFTP. My wife and I use both the FTP server and the FTP client a great deal. The client uses the same accounts as we created for e-mail.

.     Terminal emulators. The telnet and ASCII emulators support a range of terminals, including TTY, various Vtxxx models, TVIxxx models, and WYSExx models. I use telnet regularly and it works fine. TN3270 and TN5250 emulate terminals for connecting to an IBM host. Not tested. NewtPROFS allows me to exchange e-mail with an IBM system. Not tested. There's also a session manager and a script editor/player which I haven't tried yet.

.     LPR/LPD. Our printer is connected to my wife's system and I use this to access it from my UNIX system. It works fine.

.     Finger, WhoIs, PC NetTime, Name Resolver, NISLookup, Bind, and Ping. These work much as expected, although I didn't have the resources to test PC NetTime or NISLookup.

.     R-Commands. Only rcp and rsh . My wife uses these occasionally. They worked fine when I tested them.

.     NEWT and Diagnostic Centre. These capture TCP/IP packets, similar to tcpdump , and provide network statistics. I've only just started to get to grips with SNMP and, so far, things are working - I think!

As you can appreciate, CHAMELEON provides a wide range of TCP/IP applications for Windows. We bring up the interface when the system is started by including it in the StartUp menu. This enables both of our systems to communicate continuously (my wife tends to turn her machine off more frequently than me). I mainly use FTP to access the CD drive on my wife's system. My wife is gradually learning the UNIX way and uses a range of the applications. So far I haven't encountered any problems. The TCP/IP stack is certainly more robust than the Winsock one we were using before.

I've used this product extensively in order to produce this review and, in my view, it's ideal if you want to run UNIX utilities, but retain Windows. The networking facilities are better than those provided by the MKS Toolkit. I also find it very convenient to access my wife's system using UNIX utilities from my UNIX system. I certainly won't de-install this product until something much better comes along.


(Reviewed by Martin Houston)

[mh] Samba is the software that comes with Linux, and is available for many other Unix variants besides, that lets your machine happily co-exist with Windows for Workgroups, Windows 95 and even Windows NT machines.

My experiences are with networking to Windows 95 only. I tried unsuccessfully to get a beta version of Windows NT 4 to connect to Samba but that was a dead loss.

At home I run a small network of machines, all running Linux most of the time, however I have to boot one machine into Windows 95 occasionally, as I have an image scanner that only works under that system. My main machine runs Linux all the time, and stays up for months on end. The main system is running RedHat 4.0 which supports Samba “out of the box”.

Samba allows two sorts of resources to be shared with a Windows machine, file space and printers. Permissions to use these must be set up in the file /etc/smb.conf .

Although the default smb.conf file was correct for machines that were connected to Ethernet only, my main machine also had a dialup connection to the Internet. Samba refused to work! A little investigation found that I had to specify the interfaces that I wanted Samba to work across explicitly in the smb.conf file like this (shown folded):

printing = bsd
printcap name = /etc/printcap load printers = yes
; Uncomment for guest account
; guest account = pcguest
log file =
    /var/log/samba-log.%m lock directory =
share modes = yes
interfaces =

All the lines before interfaces = are standard. Replace the IP address used with your own.

What can you do with Samba when it is running? Firstly, you can mount areas of file pace on your Linux machine as drive letters accessible from Windows. If you are running Windows95 you will even see the files with their proper long file names, although names will be “mangled” to any non “long file name aware” applications.

The rest of this discussion assumes that you are using Windows95. If you click on “Network Neighborhood” on your Desktop, after a lengthy pause, you should see your Linux machine alongside any Windows machines on the network. If not,

then check that the machines have been configured in the same workgroup and check Samba log files for error messages.

If you click on the name of the Linux machine, another window will open up displaying the resources available on that machine. Printer resources are represented by a little picture of a printer and file storage resources by a folder. The public resource maps to /home/samba and can act as a general read/write scratchpad area between users. Also visible is your home directory, if your Windows network ID is the same as one of the valid user IDs on the Linux system. To attach to your home directory from Windows you will need to supply your Linux password. However you need only do this once if you tick (or fail to un-tick) the inviting little box which says “Save this password in your password list”.

If you let Windows95 remember your password it will never ask you for it again. This means that the security of the Linux machine is only as strong as the security under Windows95, which is very worrying. Please do not let a Windows95 machine keep your Linux password, unless you are willing to accept the risks. If your Linux resources are automatically mounted every time the Windows machine is powered on, then you have no protection against your files being attacked by viruses, or even just well meaning Windows programs that don't understand non-Windows file formats.

A security chasm yes, but also a useful ability if treated with respect. It is possible with Samba to work on the same data with Widows and Linux tools, such as being able to check how web pages will look under Internet Explorer as well as Netscape Navigator.

The second aspect of Samba is printing. Simply, this allows any of the printers on your Linux machine to be used from Windows. Access to the printers is controlled by the same (remembered) Linux account password as for file access.

Printing under Samba needs a bit of explanation. The normal filter program which is used for Linux printers, /var/spool/lpd/lp/filter , assumes that the input is some sort of plain text. It uses enscript and then ghostscript to first lay the text out on the page and then, if the printer is not directly Postscript capable, translates it into codes that the printer will understand. Windows likes to do all this “driving” of a printer itself, so attempting to use the standard filter will just result in an ugly mess of nicely formatted escape sequences!

What is needed to make Windows happy is a straight through path to the printer, which I call lp-raw . Here is my /etc/printcap file:

#Look at the printcap(5) man
#page for more info.
##PRINTTOOL## LOCAL cdj550 #300x300 a4 1
    :sd=/var/spool/lpd/lp:\     :mx#0:\


Note that lp-raw does not do anything to the print job - it has no input filter so goes right to the printer. I have an HP DeskJet 400. This works fine using the cdj550 ghostscript driver under Linux. The HP Colorsmart drivers, supplied with the printer, for use with Windows allow full colour printing support from Windows applications even though the printer is attached to Linux.

It is software that is capable of far, far more than I have covered here. Perhaps the best aspect of it is that there is no “extra” software to install, and buy, on the Windows side of things. NFS implementations for Windows are available which will give much the same end result as Samba. The downside is having to introduce the Windows machine to concepts and software that it didn't grow up with.

Even Microsoft pays tribute to Samba on their Web site. It is one of the very few things you will find if you search there for “Linux”.

Experiences with Caldera Wabi 2.2

(Reviewed by Martin Houston)

Wabi is an intriguing software product. It is a complex piece of “middleware” which lets a Linux machine run Microsoft Windows and a wide range of Windows applications at the same time as native Linux X Window applications; even being able to cut and paste between them.

Wabi is licenced by Caldera from SunSoft. It was originally developed by Sun to allow Sparc based Solaris machines, on engineers' desks, to have access to the sort of general Office Automation software available for Windows PCs, but not then on UNIX systems.

With the coming of a healthy market in native UNIX and Linux software and the Java Juggernaut on the horizon, that original need is no longer so pressing. However, there are many niche applications that will probably only ever be available under Windows. Wabi provides a way to protect existing investment in software, without having to be stuck forever on the Microsoft-ordained upgrade path. A good example is if you have a Windows-based word processor that your staff are familiar with, which has had a considerable investment made into customising it to your business needs. Wabi allows such systems to make the move to Linux, either as a temporary, transitional measure, or as a permanent feature. One thing that must be remembered with Wabi, is that it cannot magically fix bugs and other shortcomings, in what must now be called your “legacy” Windows applications. The Wabi box lists many big name applications which are known and tested and known to run well.

However, it is not limited just to these applications, many lesser known programs should work as well – you will need to find out for yourself.

Before evaluating Wabi, which has a price for Linux systems of around £140 per user, the following factors should be taken into account.

1    A real, licensed copy of Windows 3.1 or 3.1 1 is required. Wabi will ask for the disks for this, the first time it is invoked. You can save a lot of time though, by copying all the installation disk contents into a directory and supplying that path as the alternative location of the files.

    mkdir /windisks
    cd /windisks
    mcopy a:\*

Last step repeated for each disk. The speed difference is quite amazing, an installation is over in seconds.

The reason for requiring each user to have his own copy of Windows is two fold. Firstly, as Wabi uses Windows, rather than trying to clone its functions (as the free Windows emulator WINE does), it avoids the ugly legal wrangling which beset Sun's original attempts to market Wabi some years ago.

Secondly, each user must have their own copies of all the .INI files, as this is how the Windows environment is customised and altered as applications are installed.

2    Applications are strictly 16 bit only. This is probably a consequence of the long time that Wabi has been around: although this sort of limit in functionality might just be part of deals struck to keep Microsoft lawyers off Sunsoft's back... ;)

The 16 bit only rule tends to bar many applications written in the last three years. For example Corel Draw is supported, but only up to version 4.

3    Software choice is further constrained as anything which requires special device drivers or VxDs are also ruled out. Don't expect to run Windows- specific hardware like GDI printers from within Wabi.

4    Generally printing support is sparse. Two types of printers are supported with Wabi supplied special drivers: Postscript and HP Laserjet. Manufacturer-supplied drivers for other sorts of printers cannot be used. This situation is not quite as bad as it sounds. Postscript is a pretty powerful choice. Linux systems also have the benefit of ghostscript, so you may still be able to use your printer from Wabi; you will just have to “pretend” that it is a Postscript one.

5    There are a couple of annoying features with the way Wabi has been integrated into X. Firstly, even though MS Windows can cope with 16 and 24bit colour palettes, Wabi can't. You are limited to an 8 bit colour palette. 16 bit colour depth, which is the norm on quality machines nowadays, is not useable. You will have to revert your X server to 8 bits per pixel. The second annoying trait is that Wabi windows ignore virtual window managers like fvwm . The Wabi windows are visible in the same positions on all virtual desktops, leading to annoying clutter. This too is odd as fvwm -like virtual desktop systems have been available for MS Windows for years, although not from Microsoft. Although these two shortcomings are documented in the manual, they are rather disappointing. I would like to know if there is a technical

reason for them, or if it is just more functionality limitations to appease Microsoft.

6    Wabi is only a Windows environment. It cannot execute DOS programs directly. It is possible to configure Wabi to invoke a separate DOS emulator such as DOSEMU, but I can see fun times ahead for installing software which has mixed DOS/Windows installation routines. DOSEMU under X is, somewhat paradoxically, limited to text mode applications only. You could not have the sort of software installation routine which starts in DOS and then follows through with booting Windows.

Enough of this negativity! Wabi seems to work fast and reliably. Its job is to let you use an existing investment of 16 bit Windows applications under Linux. The free Windows emulator WINE claims to do more, including running 32 bit applications, and does not require a single byte of Microsoft licensed software to do its job. However, WINE is still very much a work-in-progress and not suited to everyday use.

Another aspect of Wabi is that, although quite expensive (about three times the cost of Caldera OpenLinux Base), the sort of software that runs under it is now very cheap indeed! I got a copy of “Wabi Friendly” Corel Draw 4 free with an inkjet cartridge. The whole Lotus Smartsuite can be had from around £30 from a number of software discounters. 16 bit programs have many limitations compared to native Linux ones. However, they may be just what you need and want to run.

Martin Houston is 33 years old, married with a daughter and four cats. A UNIX Systems programmer and system administrator for 13 years and organser of the UKUUG Linux SIG since 1994.

OpenNT - UNIX for Microsoft Windows NT

(Reviewed by Ian Nandhra)

In this article, I don't intend to re-open the old “UNIX is better than NT” and/or “Linux is better than both” debates, but explain what OpenNT does, why it is the only product that fills a specific gap in the market and why it makes your life much, much easier.

Anyone involved in IT, MIS or computing will appreciate that if you ask a group of technicians to agree about a particular type of computer, operating system or language you are asking for trouble. The only consensus is: disagreement! And one of the traditional battlegrounds is the old war between Microsoft Windows (in all forms) and UNIX (in all its guises).

So, back to the group of Techies; remove the prejudiced from the room and try again (you may find that you have to repeat the process a few times). What you will be left with is a group of people who care about a solution rather than the technology. They don't care if they are using NT, Win-95, UNIX-95, UNIX-98 or white mice on treadmills. Sure, they have pet preferences and will debate these endlessly. But the underlying theme is solutions based. Take the best thing at the time to solve the problem – before we get sacked, run out of money etc.

And so we come to UNIX and Windows. Two very different operating systems running on different hardware from a set of overlapping suppliers. Over recent years, UNIX has become centred around specific hardware vendors' products and Windows around Intel hardware. Yes, this is a simplistic view.
UNIX has an expanding share of a shrinking market whilst Microsoft has the majority share in a market that is growing exponentially. Most Enterprises will have Windows products in use somewhere; some of these Enterprises have UNIX as well. And they all have MIS departments attempting to interface the various versions, systems and hacks. Since the various suppliers are all fighting for market share (more accurately, the UNIX vendors are fighting amongst themselves leaving Microsoft alone) there has been little help in integrating UNIX with Windows. A valiant attempt has been Wabi – it allows you to run some older Windows applications on UNIX, although you also have to install Windows (ie you have to purchase a Windows license). Guzzling your system resources, it works to a point, but uses the wrong philosophy.

Until recently the effort has been to make UNIX run Windows programs. This is an horrendous effort and given the huge number of Windows applications really does represent the wrong solution! It is far easier to make Windows more like UNIX. But then we hit the usual round of bigotry, prejudice and lunacy that has beset this issue for years. If you want to see unbridled prejudice in all its forms, take a look at the Linux newsgroups.

Meanwhile, CEO's around the world are still struggling with the old problem of: “How can I run my Windows and UNIX applications in an integrated way on a Single Platform?” The Finance departments usually add something about “... and protecting the existing installations..”.

In 1997, things have changed for the better; OpenNT is here. If Linux was the product of 1996, OpenNT will change the face of computing in 1997.

In his Keynote Address to the 1996 UNIX EXPO, Bill Gates, Chairman and CEO of Microsoft Corporation, said “...important to us is UNIX compatibility coming back over to Windows. ... the Open Group can take that product [OpenNT] and brand it as UNIX... in a very formal sense we can say, when packaged that way, Windows NT actually bears the UNIX trademarks.”


OpenNT addresses the “Holy Grail” issue of running UNIX and Windows applications on the same platform. There have been various attempts at this by a number of different vendors, but nobody addresses the problem at source (pun intended); that of combining Windows and UNIX on the same platform.

The OpenNT solution addresses these challenges by using a combination of a real UNIX environment, for both users and developers, that runs on Windows NT and a family of products to allow applications to be used in a distributed multi-user fashion. You can read about the OpenNT Design Goals on their Web Site at http://www.opennt.com (use the Index page to navigate around).

Put simply, Open-NT runs UNIX alongside Windows NT Workstation 4.x and Server 4.x. It looks like UNIX. It behaves like UNIX. You can do all your Internet work – just like UNIX. You can use your

familiar UNIX configuration tools (although the NT ones are usually much better). And you can run all your Windows programs at the same time. Without the need for Wabi slurping up all your resources. It is one of the most addictive and market-changing products available. But don't believe me, download the demo version and see for yourself: www.lasermoon.co.uk/OpenNT ; www.opennt.com .

UNIX over the years has become the ultimate multi-user operating system. With UNIX systems, users and IS managers have the option of hosting:

a)    multi-user character-based applications using character terminals;

b)    multi-user character-based applications using remote network login access;

c)    multi-user distributed graphical applications using X Windows;

d)    multi-user client server network applications that supported powerful server engines on UNIX systems and “friendly” clients on diverse networked desktops.

All this on the same system!

Windows NT as it ships from Microsoft is really a single user operating system when it comes to multi-application execution for multiple users. While Windows NT can host client-server network applications (as in (d) above), there is no way to have multiple users logged in and interactively using a single Windows NT system (as in (a), (b) and (c) above). You simply can't have a “UNIX system” if you don't provide a way to offer multi-user access. “Multi-user” and “UNIX” go hand in hand. As a result, OpenNT provides a Telnet Server for multi-user character-based access and OpenNT X11 Server and OpenNT X11 Windowing System for multi-user graphical access. OpenNT offers a suite of products that cover both user interface and multi-user requirements, providing a solution that is consistent with customer and Industry expectations.

A Total UNIX Solution?

This is a tough question as UNIX has grown to mean many things over the years. The first commercial UNIX operating systems started as multi-user character-based time sharing systems. As networking standards emerged, sockets and TCP/IP interfaces were added. With X Windows, UNIX systems had a way to “do graphics”. Today, virtually all core UNIX technology falls into one of these three areas - character-based multi-user services (eg curses library support, shared memory, forms packages), networking (eg NFS, streams, DCE) and X Windows graphics (eg Motif, CDE, OpenGL). While it would be great fun to cover all the bases of all technology found on all brands of UNIX, the reality is that this is software and it needs to be carefully developed one step at a time.

The OpenNT product family is evolving, much like the UNIX operating system did over the last two decades, only at a much

faster rate – probably the fastest software development to take place from late 1996 onwards. Arguably, the last major UNIX port is like no other, but really no different than porting UNIX to any new architecture. The result will be a product family that by mid-1997 will have support for all of the de jure and de facto user and developer standards that go into defining a UNIX operating system.

Whilst CDE may not be supported in this timeframe (there are serious doubts about CDE's viability), there will be all of the API support to allow a third party to port an implementation of CDE to OpenNT. This API support is critical for guaranteeing the success of OpenNT in the future.

Performance and Functionality

Customers want a solution that performs well and provides complete functionality. Currently there are two choices, UNIX (not Linux) and/or Windows.

By building our product as a native subsystem on top of the NT kernel, we are able to address both these issues. OpenNT provides a tightly integrated, high performance native subsystem through a joint agreement with Microsoft and Softways Windows NT source license. Applications built with OpenNT tools run as pure native Windows NT binaries – there is no emulation layer or interpretive layer.

Benchmarks have shown that CPU-bound applications run just as fast as the same application built with Win32 libraries. UNIX emulation products that run in the Win32 space, can be burdened with the overhead of mimicking UNIX calls that are not native to Win32.

OpenNT Architecture

By building OpenNT as a subsystem, customers are provided with a platform that is totally consistent with that provided in a UNIX system. Since its architecture is much the same way as a classic UNIX operating system, true UNIX operating system interfaces and services are provided. This means that it does things Win32 simply can't do (eg file links, job control, true case sensitivity in file names, real fork() and exec() calls, etc). The limit in functionality with Win32, translates into limited functionality for any UNIX-like product built on top of Win32. This is not to say that Win32 is a bad environment. It provides a huge toolset of APIs that are more focused in supporting the traditional Windows environment and beyond. It's just that Win32 is not UNIX and does not support the same set of APIs as UNIX. OpenNT is totally integrated with the existing functionality of Windows NT; the same filesystem is used, system administration is done the standard NT way and NT security is unaffected. For example, user accounts and privileges are administered through the NT User Manager and respected in the OpenNT world. Files created with OpenNT can be viewed and accessed from the Windows world (and vice versa). We also feature cross subsystem application execution support. This allows cmd.exe users to run OpenNT programs and Win32 applications to be run from OpenNT shells and scripts. This translates into a powerful feature of

being able to build shell scripts that not only use traditional UNIX commands, but also NT specific commands.

I don't need this, do I?

You could use Linux and struggle with the complete lack of applications, install “real” UNIX and struggle with Wabi, or have a duplicate system running Windows, or you could install OpenNT.

This article was written on a lap-top whilst running email jobs and downloading files from the Net. I could do this with Windows, Linux or UNIX. But, I was also simultaneously using Microsoft Office-97 and publishing a Web site with FrontPage. Not only could I not have done this with Wabi on Linux or UNIX, I could not have found natively ported equivalents either. So, in this age of choice, I chose to use NT-Workstation 4.0 and OpenNT. I now run my Windows, UNIX and Motif applications on the same platform, fully integrated and with no problems. And it is addictive to the point that you will never take it off your system.

But I could use Wabi?

You could, but it would just add to your problems. Wabi is a technology developed by Sun Microsystems that attempts to run Windows on a number of UNIX platforms. You can even get a version for Linux. Wabi still requires you to have a Windows license and requires some considerable systems resource to function. But the real killer is that it only runs a few, older, 16 bit Windows applications and is very dependent on the UNIX being used. This is not a problem with UNIXs with a slow change cycle, but becomes a potential disaster with rapid change cycle offerings such as Linux.

OpenNT eliminates the need for Wabi, as it is based on and fully integrated with Win32.

Installing OpenNT

It is a simple process taking minutes. Compared to the pain of getting UNIX installed or, even worse, Linux, it's almost a pleasure to see Install Shield copying the files over. And that's it. There is almost no further configuration work required (although UNIX aficionados can tinker endlessly with the system parameters).

The Install Shield installation provides a level consistency that UNIX vendors have failed to provide. Indeed, OpenNT could provide the common installation and configuration process for UNIX.

Systems Configuration

There are stark choices for systems administrators: use the UNIX system administration tools which are fairly nice, use the few Linux system administration tools and then hand-edit the files, or use Windows. Anyone setting up a shared print server on a UNIX/Linux box knows the problems. Anyone having done the same with Windows knows how easy it is. Apart from anything else, the printer manufacturers all supply native Windows drivers for their printers. How many printers come with a driver for UNIX?

OpenNT augments the already easy Windows administration with the UNIX tools that are often needed to troubleshoot and diagnose problems. These tools also make an often unfamiliar OS more acceptable to those coming from a pure UNIX environment.

And MIS Departments find that they can now satisfy their UNIX and Windows requirements on the same platform. Whilst OpenNT is not (nor is it intended to be) a replacement for UNIX, it removes much of the need for separate UNIX and Windows systems, eliminating the associated financial and resource drain. It won't stop the Techies squabbling about “Linux being better than Windows which is better than UNIX which is better than Linux” – it just means that they will be squabbling on the same hardware!

Costs and Versions

Are less than you think. Here are some comparisons taken from Web sites and published materials (references at the end of the article). You can get accurate pricing information from www.opennt.com (USA) or www.lasermoon.co.uk (UK). So, let's add up the costs for the 2.0 release (all figures in UK Pounds):

OpenNT Workstation Lite 2.0


OpenNT SDK 2.0

OpenNT X11 Server 2.0

OpenNTiF Runtime (Motif 1.2.4)

OpenNTiF Development (Motif 1.2.4)

OpenNT Workstation 2.0

You now have UNIX and Windows simultaneously running on the same system. It is just not possible to provide the same level of functionality with other products. OpenNT simply provides the best cost/performance/functionality package.

OpenNT Workstation 2.0 Lite
Formerly known as Commands and Utilities, it is a complete set of UNIX utilities and a POSIX command shell for Windows NT. Providing complete conformance to the POSIX.2 Execution Environment Utilities standard, as described in FIPS 189-2, it adds a new POSIX.1 subsystem.

A development kit for porting and developing POSIX and UNIX applications on Windows NT – such applications run as native Win32 binaries, there is no emulation (compare with WABI).

OpenNT X Server
A streamlined PC X Display Server that delivers maximum performance, providing all of the essential elements to run X sessions alongside native Windows.

OpenNTiF Runtime
The Motif 1.2.4 window manager.

OpenNTiF Development Kit
All the components required to develop Motif 1.2.4 applications on Windows NT. It also contains the mwm Window Manager.

OpenNT Workstation 2.0
Bundles together Workstation Lite, X11 Server and Telnet server.

OpenNT Server
Bundles together Workstation Lite, X11 Server, Telnet Server and is intended for Windows NT Server.


Michael Goulde, Executive Editor, of the Patricia Seybold Group: “Softway Systems brings Windows NT one step closer to becoming a universal application platform, while UNIX vendors continue to avoid Windows NT and Microsoft interfaces like the plague. Softway Systems has implemented a complete UNIX personality on top of the Windows NT kernel. More importantly, OpenNT- UNIX will be as standards compliant as most UNIX offerings. It's going to force a lot of people to do some thinking.”

Win32 provides the Software Community with a uniform development and execution environment. It may not be perfect, it may not be UNIX, but it is consistent – and it works. The various attempts to unify UNIX have failed to make any impact in the industry. Linux, for all its hype, has comprehensively failed to make any serious market impact and still provides next to nothing for Application Developers. OpenNT represents a hurricane of change in an industry already reeling in the wake of Java-related technologies. This product is set to become the standard for all Open Systems installations. OpenNT will open new markets for Win32, as well as allowing Windows NT into markets previously unavailable.

Steven Cooker, Vice President of AT&T's NCR Federal & State Divisions: “The announcement of OpenNT from Softway Systems effectively changes the rules in Microsoft's ability to compete directly with the leading vendors of UNIX operating system platforms. By conforming to POSIX standards and delivering X/Open branded products, Windows NT with OpenNT can now be considered a UNIX operating system. This leaves the door wide open for Windows NT solution providers to enter numerous new markets, especially within the US federal government.”

No matter how kludged, Linux will never offer this level of impact. UNIX has come close, and OpenNT will take UNIX into the next generation of Operating Systems. OpenNT has already been dubbed NT-UNIX in the USA and is becoming the Open Systems solution for Windows.

Ian is a founder member of Lasermoon Ltd. He is involved with a number of Open Group Standards committees. Ian was instrumental in the project to bring real-world Standards to Linux and the resulting Linux-FT distribution. He is currently involved with OpenNT and is presently staying in Stockton, California. He is always eager to talk about new developments and can be contacted via the e-mail address listed at the back.

Macintosh Application Environment

(Reviewed by Keith Garrett)

The Macintosh Application Environment (MAE) is a product from Apple Computer which allows Sun and HP users to run a virtual Macintosh on their workstations, with the Mac display appearing in an X window. It is compatible with Solaris 2.3 and HP-UX 9.0 upwards. MAE runs a 68k emulation on top of the system processor to allow existing 68k Mac applications to run. It still will not run any PowerMac only applications, however the latest release of MAE, version 3.0, is substantially faster than the previous version.

I joined Shute Associates from Manchester University where we used Sun workstations and had at school used Macintoshes. When I first arrived for

work I was handed MAE version 2.0, I was a bit wary but installed it anyway (after insisting on a DAT drive in case things went badly wrong). When I launched MAE for the first time, I was really quite surprised to see a perfect replica of a Macintosh screen appear on my Sun screen - it even had those little curved corners of the Mac display. The Mac display starts as the size of a 14 inch monitor but can be resized like any other X window. I then tried running QuickMail (the office mail system, soon to be phased out) - it didn't work! This was because of an extension problem but, at the time, I didn't have time to investigate.

MAE 3.0 and Application Compatibility

Two weeks later I heard a whisper that MAE 3.0 was out. Cambridge Cable are running a ISDN pilot project and we are the second installation - this was a good chance to test the bandwidth. The 14 MB didn't take long to download. MAE 3.0 was very easy to install, I needed to edit one file to tell MAE how to find the CD-ROM drive on the SPARC. I installed MS Office, ClarisWorks, PageMaker, and Photoshop with no problems (except for Office complaining about OLE. I ignored this on the grounds that I had no idea what the error message meant - the standard approach.). In fact I'm writing this article on Word 5.1 running in MAE and find it useable. Word 6 runs a bit slower, I didn't want to use it because of the way it does styles. I haven't done anything heavy in PageMaker or Photoshop but what I did ran just fine and all the applications were able to access our AppleTalk printer.


I then tried installing QuickMail again but it caused MAE to hang each time I tried to launch it. I removed some of the pointless system extensions that MAE had loaded at startup and QuickMail launched! I read my e-mail with it, swore and blessed the day I would get back to Elm.

Getting Networked

I had already played with the networking on MAE 2.0, it seemed seamless and frankly, quite beautiful. It makes me dream of a time when everything will “talk” like this. All the Macs on our network can now file share with my Sun and moving files around suddenly becomes a whole lot easier. I can mount other people's Mac volumes and read and write files directly from UNIX instead of 'Fetching' them in that tedious GUI manner. (Fetch is the Mac equivalent of ftp and, of course, has a GUI front end.)

The networking is all integrated into the Mac Chooser, all a user needs to do is select the Mac (or SPARC running MAE) they wish to connect to and choose the volumes they would like to mount. The volumes appear on the Mac desktop - just

like NFS mounted volumes. For a brief spell we had an NT 4 server, with Services for Macintosh on our network and MAE happily chatted to that.


MAE has crashed but it has crashed less than our mail server which has been yo-yoing all day (the reason for moving mail over to our SPARC). In fact, MAE hasn't crashed for a while now, even though I seem to be doing more and more work with it.

File Formats

MAE 3.0 stores files in a different format to MAE 2.0. MAE 3.0 allows you to transfer UNIX files around within MAE, allowing you to maintain a filestore using the Mac's, rather nice, Finder which is a great improvement on the File Manager that is currently shipped with Solaris.


I left the Mac field when the IIci sitting next to me was the bees knees and the chance to touch a IIfx kept us all going - I'm exaggerating slightly here. Although at times you feel MAE is a tad sluggish, it feels just as good as my IIci - this could be due to lack of memory in the IIci (it's so old the 1MB SIMMs have welded themselves to the motherboard and are completely unmoveable making upgrade impossible!). Now my Mac monitor, which sits on top of my Sun monitor, is always off. If you are out to create Toy Story then I would suggest that MAE is underpowered, but if you just do a little word processing, a bit of page-layout, a wee bit of graphics, a smidgen of mail then I believe you will be quite happy with MAE. Obviously MAE's speed is related to the speed of the host processor, I am running MAE on the lowest powered machine that Sun produces, a 32 MB SPARCstation 4 - although I am promised an Ultra in the new year.

X Integration

Basically MAE behaves as a Mac. On top of this there are special features which have been added to integrate MAE with the UNIX environment.

Macs have a clipboard, so too has X, and MAE provides buttons to allow you to move information between the two. Two clicks and your text can be pasted from an X window into a Mac window. Also, MAE can grab any part of the X screen and put it into its own clipboard as a PICT file which is quite nifty.

Any UNIX directory can be mounted as a separate volume on the MAE desktop. MAE starts by mounting your home directory as the main drive but you can add any directory you like. I just mount /tmp so I can play around. And, of course, in typical Mac fashion, you can change the volume name.

In Conclusion

I must admit when I first heard about MAE I thought it was a 'toy' Apple had knocked up in one of its 'phases'. But I have found that MAE 3.0 is a tremendous

achievement in the seamless integration of the two environments. The entire system is well engineered, well thought-out, and appears to be well supported with web sites, and user mail lists.

Once my 30-day trial is up, I will be attempting to get my boss to buy me a full version ... it really is that useful. MAE offers all the sweetness and pampering of a Mac and, when you need it, the command line and raw power of a SPARCstation. A wonderful mix.

More Information
For more information call Netcentric Solutions on Tel: 01223-213716. Trial versions can be downloaded from http://www.mae.apple.com

Keith Garrett is currently a Technical Specialist which means he does everything! He joined Shute Associates after attending University of Manchester and Salford University and is now a key player in the newly formed Netcentic Solutions Ltd.

Mastering Regular Expressions

Jeffrey Friedl
O'Reilly & Associates, Inc. January 1997
ISBN 1-56592-257-3
(Reviewed by Mick Farmer)

I think that I know quite a lot about regular expressions, so I was intrigued to see how someone could devote a whole book to the subject.

I checked a couple of books that sit on my desk – the 2nd Edition of “Programming Perl”See footnote 1 1 devotes 25 pages, plus a number of operator definitions; chapter 28 of “UNIX Power Tools”See footnote 2 2 consists of 15 pages describing regular expressions and the tools that use them. This is 342 pages, including appendices and index!

In his preface, the author states “This book is part tutorial, part reference manual, and part story ...”, which covers about everything, so I decided to read it as a story, particularly since this is how the author thinks we'll get most out of his book. The book is organised into three parts, plus appendices.


The first three chapters introduce regular expressions and the tools and utilities that use them. Jeffrey is heavily into Perl, so a number of his examples are written in Perl. However, the other tools aren't forgotten. Chapter 1 covers the grep family and meta-characters via a number of examples. Chapter 2 introduces the Perl language with some text processing examples, and finishes with a fairly complex Python script. Chapter 3 is an overview of regular expression features and, I must admit, I didn't realise there were so many differences between the tools that claim to use regular expressions. For example, did you know that POSIX supports two classes of regular expressions, basic and advanced?

I found his description of when escaped meta-characters get translated in different languages very lucid, as I did his explanation of which languages support strings as regular expressions.


Chapter 4 starts with details of the three main types of regular expression engines (ie how a regular expression is recognised):

.     Deterministic Finite Automaton (DFA). Used by awk , egrep , GNU grep , and lex .
.     Traditional Non-deterministic Finite Automaton (NFA). Used by GNU Emacs , Expect , expr , grep , GNU find , more , Perl, Python, sed , Tcl , and vi .
.     POSIX NFA. Used by MKS awk , mawk , MKS egrep , and MKS lex .

In theory, DFA and NFA engines should match the same text, but in practice their semantics have diverged. This is particularly true in their support for back-references. The POSIX standard requires that, if there are multiple matches that start at the same position, then the one matching the most text should be returned. You can imagine the work done by the engine, especially when sub-expression capturing is supported!

Chapter 5 is devoted to, as the author puts it, “crafting” regular expressions so that they're efficient, particularly where backtracking is involved. The example of matching C-style comments ( /* ... */ ) was well explained, especially how the regular expression is unrolled for efficiency.

Tool-Specific Information

Chapter 6 covers what you need to know in order to use specific tools. There are handy tables indicating which meta-characters are supported by what tools and containing useful details such as the maximum number of back-references that can be used. Coming from a UNIX background, I often used awk (before Perl came along :-), so I was fascinated to read that there are at least six versions of awk available today, each subtly different:

.     oawk – the original AT&T version.
.     nawk – new awk.
.     awk – the One True awk, still maintained by Brian Kernighan!
.     gawk – GNU awk.
.     MKS awk.
.     mawk – Mike Brennan's awk.

Finally, chapter 7 covers the use of regular expression in Perl. There is an extremely clear description of “The Perl Way” which certainly taught me a thing or two about the way I use Perl. My only criticism here is that I think Jeffrey gets carried away by efficiency issues, especially his tirade against, and I quote, the “unsociable $& and friends”.


Appendix A provides pointers to on-line information about regular expressions and the tools that use them. Appendix B is a listing of a Perl script for matching an e-mail address which was initially built up in Chapter 7.

So, what did I get out of the book? Jeffrey writes well and his descriptions of how things work are first rate. I learnt how to make my regular expressions more efficient, though I'm doubtful that I'll ever need to do so. However, an enjoyable read nonetheless. I can't really recommend that this is an essential purchase though. Borrow it from a friend or colleague for holiday reading!

. Larry Wall, Tom Christiansen & Randal Schwartz, “Programming Perl” Second Edition, O'Reilly & Associates, Inc., Sebastopol, CA, September 1996, ISBN 1-56592-149-6.

² Jerry Peek, Tim O'Reilly & Mike Loukides, “UNIX Power Tools”, O'Reilly & Associates/Bantam Book, March 1993, ISBN 0-553-35402-7.

Tel: 01763 273 475
Fax: 01763 273 255
Web: Webmaster
Queries: Ask Here
Join UKUUG Today!

UKUUG Secretariat