Mailer Preface, When Sent as Mail.
32-Bit Operating System? Consider Alternatives.
This past summer I visited Dr. Nozawa at Wake Forest University. He introduced me to a Professor from Netherlands who made carticoid graphics, experimented on monkeys, and advanced their computer systems. Unsurprisingly, this Linux expert came from Europe, where he got the Linux expertise needed for much of his scientific work and computer administration. Perhaps one of the unixes for PC: Linux, Berkeley Systems Design (BSD), or Sun's Solaris for PC, offers a 32-bit solution for NASS. Or up the ante, occasionally buy 64-bit desktops and use 64-bit Linux.
In Survey Research Branch, we have run a 32-bit operating system, Linux, an international standard unix, for a few years now. It runs seemlessly with our Sun computers, so the user may not immediately know zher [not misspelled] home directory, location of disk drive for zher current directory, or location of software. Indeed, all three may reside on separate computers, the software links may automatically toggle according to which computers currently run, and this works identically and transparently whether logging into a PC Linux computer or a Sun computer. Hopefully, a decision ``to adopt a 32-bit client (workstation) as soon as possible'' will look for number-crunching speed; flexibility of programming and of getting off-the-shelf software; speed and propriety of software support answers; robustness to human and computer errors; interoperability with the world's computers. A rush just for the immediate speed of an operating system at hand could become a long term accident.
Billionaire Ray Norda, founder of Novell, created the Linux distribution Caldera, taking with him many key Novell personnel, then spinning into the Linux community software which implements printing, filesystems, and most of what Novell accomplishes.
The accounting firm Ernst and Young has their computer services provider IBM support Linux. Most people and companies report solutions to their Linux problems in a few hours, and repairs to security problems in two days, which automatic upgrading then accounts for. I got a more clear response on subnetworking than I had seen in any book, Linux or non-Linux, from company which was largely the backbone of the East Coast in 1992, PSI.
The Italian autonomous Province of Bolzano runs its transportation system on Linux from top to bottom. They run everything from the salary payments to having 40 Linux computers inside rail stations, 40 inside train station ticket windows, 10 inside bus depots, and 400 to be inside buses synchronized to within 0.1 seconds of each other and interacting with global positioning systems, all averaging over 100 days uptime. The world now has roughly 8 million Linux installations.
On the other hand, many Linux users like to use the latest libraries and run the latest Linux kernel, which changes every few days. While these Beta-grade advances provide cutting edge capabilities and compatibilities with the latest hardware, they can also lead to software incompatibilities and miscommunication with hardware.
Linux can check all its software packages (eight hundred in Debian Linux) with the software source for corruption. I nightly run another program, tripwire, to detect any inadvertent changes to any file. And Linux can detect a computer lock, rebooting itself. Unix has run robust windowing systems since 1985. At home, I often run 4 simultaneous Netscape 4.0 programs, ftp, 70 simultaneous processes, and I nightly mirror 800 megabytes over a 33.6 modem. Walnut creek, http://www.cdrom.com, runs a PC Unix, often with 480 ftp/http simultaneous users and has a higher user limit than any commercial operating system I have seen, 1500 simultaneous users. In NASS Fairfax office, when the LAN goes down, people like Jim Davies have occasionally asked Unix users what they were doing, presuming that the ethernet lines shared by Novell and Unix must simultaneously break. But over five years, the Unix network has stopped twice, and then only because a hub itself had stopped. Novell developers commented that Linux stability is understandable since it has a million Beta testers, who themselves often solve developers' problems.
One alternative to pure Unix is Microsoft's NT, of which Bill Gates says ``NT is Unix.'' While NT gets better and is a viable expensive alternative to Unix, to efficiently handle NT one must be very well trained. Microsoft personnel went on site to help Digex put in their ``web farm''. In Maryland, in 35,000 square feet, Digex has over 500 NT servers serving web pages only. After calling Digex at (301) 847-5000, I understand they give quick attention to these servers. When their NT servers hang, they quickly reboot them, though they are adding software to automatically reboot these NT computers twice a day. Most internet service providers run Unix, using not five-hundred computers but three computers, which flexibly handle not just web pages but also high volume internet news and mail.
Flexibility extends to filesystems on disk or diskette as Linux handles 29 filesystem formats, including AIX, XENIX, BSDI, OS/2 HPFS, DOS 12-bit FAT, DOS 16-bit, NTFS, Novell Netware, and CP/M. Linux can also run RAID filesystems, boot a diskless computer over a network, work with a thermometer and fan tachometer inside the computer, run Frame Relay, tunnel one network protocol within another, and many Linux users use IP Masquerading so several users can use one IP address. Linux can simultaneously move Novell's IPX protocol, Apple's Appletalk and Localtalk protocols, Microsoft SMB protocol, and TCP/IP protocol packets over wire or by radio waves, so Linux can print, serve/view files, ...with other operating systems.
In Unix, when at Ag Census, if you wish to print something on a Fairfax computer, which does not recognize the Census printers, you need merely enter ``rlpr a-fairfax-unix-computer census-filename'' or use a pipe. When you want to help someone in Fairfax from Ag Census with SAS, you could start the decade-old command ``xtv'' on which both distant parties enter SAS commands and view SAS's pop-up windows.
Even though Unix has had windows since 1985, new programs are and probably always will be more easily written for the command-line/batch-mode. These command line tools provide enormous flexibility. For example, by using another tool's output as input, virtually all Unix tools will accept input through either arguments or as piped input. For example, when we run our Perry-Burt re-sampling, we generate 3,194 SAS log files. These are far too many for any windows user-friendly approaches, so we collect the needed information from all the directories with the simple one liner,
find -type f |egrep 'WARN|ERROR|NOTE'
Since Linux/Unix runs peer-to-peer, any computer can serve any other computer and many other computers over modem/ethernet without additional software. In NASS Fairfax office, this transparency presents the same setup whether logging in from Linux running on an Intel chip or from an Sun console. After login, whatever be the Unix computer initially used, the user sits in the same home directory, usually on a Sun disk drive. Then an executed command may use a second Sun's processor to run SAS served from a third Unix computer. If someone turns off the third Unix computer, the automount daemon automatically relinks for SAS software to a fourth Unix computer.
Of course, Unix flexibility comes unexpected since its flexibility to a great extend defined internet, a virtual Unix world until 1992. Even TCP/IP protocol, long used in the Unix world, was eventually adopted by all other operating systems.
As more countries see alternatives to buying U.S. software, they turn primarily to Linux. To the extent this happens, NASS work in foreign countries will look less viable if not obsolete. For a decade, the programming done by NASS for foreign countries on-site could easily have been done remotely unix-to-unix. Today, Linux can upgrade its own operating system over phone lines daily and automatically. The international organization Food for the Hungry ``firmly believes that Linux is an important asset for the developing world and can hasten the wiring of Africa.''
Word Perfect die hards can purchase a Linux version through Caldera. Netscape runs as an easily installed single binary file downloaded from a web site.
The president of SAS stated that Unix is the platform of the future and develops its software on Unix first. Mathematica does their development on Linux. W3, the standards body for web protocol; with Tim Berners-Lee who originated the world wide web with the protocols http, html and www; comprised of MIT, Keio University, and Institut National de Recherche en Informatique et en Automatique (INRIA), with support from CERN and DARPA; often makes prototype web products like the Amaya web editor/viewer with new protocols available first in Linux.
Each operating system has software that other operating systems do not have. Linux/Unix is no exception. For example, one can almost perfectly synthesize speech on any Unix computer, reading text through speakers with choice of language and English, Welch, Spanish, ...accent. Linux generates random numbers for users and for security at a rate following measures of ergodicity in the computer's devices. As an open systems solution, NASS should consider not making everyone use the same computer, but letting every employee interactively log into, or run remote executables on, hosts which can execute appropriate software, whether Unix software or Microsoft software. A couple multi-processor DEC computers running NT need be the only computers running Microsoft Windows software. Or, rather than hosting other operating systems, use an interpretive scripting language whose code works on any computer; eg, Perl software, Python, or Corel's Office for Java. Then each employee could run zher preferred operating system on zher desk for most of zher work.
Similarly, if one's computer lacks SAS, Sun hosts can run all SAS programs. In a proper windowing environment today, programs which interactively execute on a remote computer look no different from those which execute locally. So NASS could provide necessary software services on a variety of core computers, letting its employees choose more what resides on their own desktop computer. Carried to one extreme, results from core computers could display on employees computers which need only display X-windows or need only display Java.
However, Unix has its difficulties. The real difficulty in every agency has been getting computer administrators configure the agency's Unix computers for ease-of-use and later sharing that ease with computer users. Installing an easy-to-use front end and easy-to-use tools has been greatly simplified in Linux. To install an easy-to-use tool in Linux, you need not reinstall the whole operating system or even consider how your operating system was installed. The easy-to-use tools have been placed in single files called packages that easily install through a Linux packaging system. The packaging system has several front ends to suit individual preferences. For the impatient, one graphical front end will install everything. That graphical front end will keep out packages incompatible with your preferences, and when your package depends on other packages, the package system will automatically install the dependencies. While you can install by CD, you can also install by SMB, by plip, over internet by automated ftp, or, as we usually do, over a local network by nfs. Even after installing a package, the packaging system can locate documentation included with that package, can reconfigure that package, and can verify the package's source through a double key encryption check.
Having had easy-to-use windowing since 1985, most of the major computer manufacturers -- IBM, Sun, HP, Dec -- now provide Unix with the windows standard: the Common Desktop Interface with Motif and X-windows. Linux can also use the Common Desktop Environment and Linux includes Sun's Openwindows system. Linux also offers two windowing systems almost identical to Microsoft Windows 95, three almost identical to NextStep, and one like the Mac operating system. But most linux users pick the windowing system Fvwm with X-windows. This typically contains thirty-six virtual desktops, each acting like a 21 inch virtual monitor. Using this super-windows system, one often puts administrative GUI's on one desktop; and a SAS program, log and output window on a set of three more desktops. Such virtual windows systems hold many more windows than other windows systems and hold them in an uncluttered fashion. To hop onto another computer without needing to login and with the remote computer's memory and processor doing the X-window's work, one need merely enter ``xon remote-computer-name''.
Unix has both a windowing system and a quintessential command line interface. All windowing systems are but thin veneers that allow the programming-ignorant to productively use computers. Every operating system has a windowing system and every enterprise system needs a flexible, powerful command line. I frequently give files 30-character names and occasionally 50-character names, which ease understanding the files' contents and yet these names start with a couple characters easily completed with a ``tab'' key. When one changes directory, zhe need neither open a directory/filename window nor type the directory's full name, but need only shuffle the directory history with ``pushd.'' When one executes a time-consuming command, on Linux/Unix zhe runs it in the background with ``bg'', freeing the current window, or toggles it to the foreground with ``fg''. One can refer to a command-line used weeks earlier through a searchable history of the previous 1000 command-line entries. One can find a needed command or tool by entering, for example, ``apropos print'' which lists any command related to printing, while the database command ``locate agdat'' locates any file like agdat36.ssd01 on any of three computers within a second. Some Unix/Linux administrators expand ease-of-use since they allow removed files to be un-removed for two days, yet they allow small files under 100,000 bytes like SAS programs to be un-removed for two weeks. The number of Unix tools one considers easy to use expands as one becomes more computer adept and consequently computer literate.
Those wanting a user friendly text editor would probably choose a Motif based editor like nedit from the Common Desktop Interface. Those wanting un-arguably the world's most powerful text editor would choose one of the emacs derivatives, emacs or xemacs. Computer administrators should offer a breadth of editors like those Unix offers, since the powerful or easy or familiar editor often underlies a user's productivity. As a statistical agency dealing with variances, NASS understands the importance of such variety rather than uniformity. So NASS should seek low variance in its understanding and in its estimates but high variance in its tools and in its skills.
The developers of the Linux kernel itself encircle the globe, representing the largest ever operating system team. They gain efficiencies by working 24 hours a day: as the European team retires, the American team works on the German results; as the American team retires, the Australian team works on the American results. These countries come to agreement on much software, resulting in more robust and widely usable software. They fund software development through their great institutes. For example, the SQL server software sanctioned by MIT was funded by the Russian Academy of Sciences, Russian Foundation for Basic Research, and the Free Software Foundation. For example, the often obscure ``tcsh'' shell has contributions from Max Planck Institute, Keio University in Japan, LTH in Sweden, U. of Australia at Sydney, Mullard Space Lab in UK, MIT, Carnegie Mellon, Rensellaer Polytechnic Institute, Cornell, Rutgers, Cray Computer Corp, IBM, Apple, Sanyo, Dec, Intel, Motorola, .... Many public institutes now copyright for public use the software they produce, so their public expenditures do not amount to funding a future corporation like SAS, S-Plus, Macsyma, Maple, ....
The same argument that defiles Linux for its public funding could be used against any government agency, including the Department of Agriculture. NASS could not produce good statistics because those statistics are free. Viewed so, government agencies should be the first to consider operating systems such as Linux, BSD, HURD. Government agencies dirtied themselves enough by not connecting to internet until 1995, ten years after they could have used the same resource college students at every major university used, 25 years after the government agency of the military invented it. Government agencies should not postpone using products until K-Mart sells them.
Concerning public software, Donald Becker at NASA, who writes many of the video drivers for Linux, says he has seen some awkward commercial code written in a hurry to get it out the door. NASA itself recently used Debian Linux on a space shuttle mission to control a fuel-cell experiment.
While the press generally misses un-advertised Linux, here are some press comments.
``Linux blew the top off the other operating systems in three categories: development tools/utilities, ease of use and price.'' DataPro Survey
``It's powerful, it's open, it's free. That's why this Unix is entering Corporate IS. Cost is one of the last things people mention when talking about Linux's benefits. Reliability is one of the first.'' Byte Magazine
``Exceptional choice for corporate intranets.'' -- best product of the year, PC Week Online
``Last year we were unimpressed with the crop of OS offerings and didn't bother to bestow a Product of the Year award in this category; this year we present two. One of them goes to Red Hat Linux 4.0. Linux has traditionally enjoyed a great deal of popularity outside of the corporate environment. But as establishing an Internet presence becomes significant for businesses, Linux -- already embraced by several Internet service providers -- becomes a natural choice. Red Hat brings together a winning combination of software such as the Metro/X windows accelerator, a multiprocessor-ready kernel, true plug-and-play autodetection, and the best features one might expect from this implementation of Unix. Red Hat also includes its own desktop windows with a Windows 95 look and feel. A growing list of software vendors provide applications for Linux, and standard Unix accessories, such as a compiler and GNU emacs, a popular GUI text editor, are in there, as well as HTTP, FTP, and Telnet daemons. For those who like to peek under the OS hood, Red Hat also includes a complete source-code library.'' InfoWorld, October 14, 1996
Try a mock U.S. state office run on Linux serving Microsoft Windows and serving NT software, with NT hosting via X-windows, or using interpretive scripts like Perl and Java.
You ask ``whether NASS should adopt a 32-bit client (workstation) operating system as soon as possible,'' but I later infer that NASS will only consider Microsoft products for this switch. When you mention that ``clients'' will become 32-bit, I infer that NASS will continue a client/server arrangement, rather than the peer-to-peer arrangement or the multi-user arrangement that Unixes have had for 26 years. Microsoft's goals of simplicity rather than propriety does not dupe good computer administrators. For example, Microsoft identifies drives by a, b, c ...rather than the tree structure of major operating systems like Dec Vax and Unix. While drive identifiers like a, b, c work fine at home, they expand to a morass like a-z in NASS. So, for example, every time I have used my backup software in NASS, I have had to modify it because commands like ``rexec'' have moved from one drive letter to another. I long for something like the Linux File Standard that all fourteen Linux distributions follow.
Since NASS is not a mom-and-pop operation, it should at least consider what other major statistical agencies use and should consider giving users power, rather than giving the computer administrators comfort with administration at home similar to administration at work. Stat Canada uses Unix and mainframe computing almost solely. Since all computer manufacturers (IBM, Dec, HP, Apple, Sun, Fujitsu) have chosen to embellish and offer Unix on their hardware, one would think Unix should be given consideration. Since every modern operating system offers a windowing system that beginning users can easily navigate and that beginning users see little difference between, we can choose an operating system based on its power and its flexibility. We should perhaps not ask ``whether NASS should adopt a 32-bit client (workstation) operating system as soon as possible,'' but what should NASS use in 8 years.
Even if other operating systems did some computer tasks better, I would recommend Linux/Unix for many reasons like its flexibility and consequent power. Since Linux/Unix outdoes other operating systems in virtually every computer quality wanted, including user friendliness, we should seriously consider a Linux/Unix 32-bit/64-bit peer-to-peer multi-user operating system on the PC.