Chris Bidmead finds that Emacs beats the established word processors hands down.
What's the best word processor to run on UNIX? I've tried to persuade you on several occasions to take a radical approach to this question.
If you're looking for Microsoft Word, you won't find it - although WordPerfect 8, StarOffice, Applixware, Ted, Maxwell, etc, should provide a lot of what you need. Or at least what you think you need. Me? I use Emacs.
I'm not going to rerun the old arguments here about the benefits of a completely tailorable, totally cross-platform, free, open source text editor that operates primarily in ASCII. But here's a brand new reason. Emacs supports the Remembrance Agent.
The Remembrance Agent is a search and retrieval tool being developed by Bradley Rhodes at the Massachusetts Institute of Technology's Media Lab. The idea is that we all have a mess of information lying around, and some of us (like me) may have been methodical enough to have organised it into a text retrieval database. This enables us to find anything we look for simply by typing in a search phrase - but there's a catch. What if there's a perfectly useful piece of information in there that you don't know about, and so miss looking up? The Remembrance Agent's job is to watch over your shoulder as you write or review documents, and suggest information that might be relevant to the text in front of you. That way it can offer you information you didn't even know enough to ask about.
Rhodes' Remembrance Agent comes as a source tarball (available at rhodes.www .media.mit.edu/people/ rhodes/RA) so you'll need to untar this and compile the code on your own machine. If you're running Red Hat Linux or something close there are ready-made i386 binaries for version 5.2 and 6.0. The basic retrieval system can be run from the command prompt, but to get the full benefit you'll need to have a recent version of Emacs or Xemacs on your system. If you do decide to explore this, please write in and let me know how you get on.
- Source Code Unifies UNIX
In the commercial world, a lot of effort has gone into developing ways of distributing software that will install on different UNIX versions running on different processors. The one I remember was called ANDF (Architecture Neutral Distribution Format), but not much seems to have happened about this. There's a practical open source compiler at http://alph.dra. hmg.gb/TenDRA, and the GNU people reportedly have an ANDF project on their back burner.
But the point of ANDF is to be able to distribute code in a closed form across multiple platforms. If the code you're distributing is open source, the task is a lot easier. The standard utility that controls how a particular piece of source code is compiled is called 'Make', and you'll find this on every UNIX-like system (except for some dumb commercial UNIXes sold as 'user systems'). Make's behaviour (which compiler it calls, which libraries it uses and so on) is controlled by a config file, usually called 'Makefile'.
So, essentially, when compiling the same chunk of source code, the only thing different on my Sun system, my FreeBSD system or my AIX system is the Makefile.
OK, I'm simplifying. For example, there are key differences in some of the internals of the various UNIX-like systems that have to be taken care of by conditional branches in the source code, and this is all extra work for somebody. But if that somebody has done the work right, you as an end-user don't need to know about it. The point I'm getting to is that source code, combined with a way of setting up the Makefile appropriate to your system, is an entirely viable way of distributing software cross-platform.
So how do you get the right Makefile? If you download the source version of the Remembrance Agent you'll see it comes with a script called 'configure'.
You run './configure' and it checks the resources on your system against the requirements of the Remembrance Agent source code and creates the appropriate Makefile. It'll also warn you if any of the necessary components are missing. So I compiled the Remembrance Agent for my system by running './configure' and then 'make'. And then to install the binaries and man pages in their correct directories I ran 'make install' (make and the makefile can control all sorts of operations, not just compiles). So it's not that tough, really.
If you take a look through the configure script you'll get some idea (even if you're not a programmer) of the considerable platform incompatibility problems it is working around. But don't worry too much about Bradley Rhodes and his team getting distracted from the core project having to deal with all these cross-platform niggles, because the creation of the configure script is in turn automated by a utility called 'autoconf' (see http://sourceware.cygnus.com /autoconf for details).
- Cat and Dog
If you haven't compiled source code before, try your luck with good-dog from http://jl.photodex.com/dog/. It's a simple enough piece of code not to need any of the auto-configure stuff - just compile it on any UNIX-like system that has the GNU gcc compiler.
Dog is a replacement for cat (if you hadn't already guessed), the not very exciting but indispensable utility that squirts files into stdout.
Dog is more exciting, although perhaps not entirely meriting the tongue-in-cheek hype accorded it by authors Jason Cohen and Jacob Leverich . "Dog 1.3 is riddled with incredible new features," they say. Well ... it emulates cat, and supports network sockets, so you can treat an http site as if it were a file and squirt it straight to stdout (which certainly might be handy in a script for collecting URLs from the web, say). More immediately useful is dog's ability to translate between the different line endings used by DOS, the Mac, and UNIX. Oh, and it also supports the k-rad filter 'to convert text to a more readable form' (say the authors). iF you Don't kn0W WHa7 k-R4d is, 7his sHould gIVe y0u 5oM3 ide4.
- Blink and you'll miss it
Fancy a utility that downloads JPEGs at random from the web and continually redraws them on the background of your X11 display? Well, yes, you can probably think of a possible snag with that, particularly if you're working in an open office. The author , is aware of the problems too, and writes: "Blink may very well display something on your computer that you find offensive. Don't blame me. This is the web, ladies and gentlemen, anything goes. I have tried to filter the images somewhat, but this is by no means foolproof."
If you're drawn to high-risk situations (actually the few times I've run Blink it has only thrown up uncontroversial backgrounds like the one pictured in the screenshot on page 233) you can download it from www.techweenie .net/dave/. It's a perl script and as written it needs the graphics utility xv (but that should be easy enough to change). It's best if you have a permanent internet connection or don't care too much about your phone bill!
- Like-minded People
Nick Binns writes: "As Linux is growing all the time, are there any meetings I could attend to find out more. I am still unsure about many of the issues connected with downloading data. I know that I should really do this on the internet, but getting together with like-minded people can be useful."
I suggested Nick visit www.ukuug.org (The UK Unix User Group) - Linux groups in the UK are listed there, as well as more general UNIX groups (which mostly tend to be pretty clued up and sympathetic to Linux anyway).
Linux evangelist and distributor Martin Houston has sent me details about the Linux '99 Conference, which was held by the UK Unix User Group in June. The aim of the conference is to provide talks, forums and 'clinics' for developers, users and businesses interested in Linux. The 100 or so people who attended may well have expected the usual discussions about Linux maturing from a hobby to a full-scale business proposition, and technical analysis of recent features like symmetrical multiprocessing and support for the new high-performance I2O architecture (from the Linux kernel guru Alan Cox). But there were also less conventional offerings, like John Adams' explanation of how he uses the ARM port of Linux in the creation of androids.
- The XDMCP Adventure, Part II
Last month I began raving about XDMCP and gave you enough details, I hope, to have a crack at getting started with it. You'll need a minimum of two machines, each running an OS that supports X. I've been using a mixture of Xs for this, mostly XFree86 on several different Linux distributions, but including IBM's X implementation for AIX and the Cube'X server available for NeXTSTep.
As I explained last month, the xdm X Display Manager comes as standard with X, so you almost certainly already have it installed, even if you're not running it. To see whether it's running, type something like 'ps ax - grep dm' (the ps flags vary somewhat between UNIX distros) at the command line. That's 'dm' rather than 'xdm' because there are some variants, like gdm and kdm, the Gnome and KDE versions respectively.
If it's not running, just run it. It reads some configuration files (in somewhere like /etc/X11/xdm) on powering up, but in my experience these will already have been correctly set up for general use. The only problem I had was with the gdm supplied with Red Hat 6.0, which I couldn't get to work at all. But xdm and kdm are on the same distribution, and they work fine.
OK, lets say that you now have xdm running on two or more machines on your network. Go to the machine with the best video card and monitor, become root at a virtual terminal and from the command line type:
X -query
- where is the host name of the remote machine. If the remote machine's xdm is running correctly you should get a login prompt.
Respond with your username and password, and lo, you find yourself, as it were, sitting at the other machine.
Did that fail for you with something like 'Fatal Server Error: Server is already active ...'? That means that you're already running an X-based desktop on the local machine. Never mind, you don't have to take that down. This time type:
X -query :1
This invites a new X server to come up on the same monitor (typically at VT8 instead of the usual VT7 if you're running Linux). Now you can use whatever local arrangements there are for switching between X:0 and X:1 (under Linux it'll be something like Ctl-Alt-F7 and Ctl-Alt-F8.
Here's one great use for XDMCP. As I mentioned last month, I have here on loan from Siemens a very powerful dual processor Celsius 2000 technical workstation. Unfortunately its Diamond Fire 4000 Pro video card is not supported by Linux. No matter - I simply run the Celsius via XDMCP from my IBM PC315. And from the same IBM machine I can switch around between the Celsius and any other machine on the network.
Another way to use XDMCP is by way of the intermediate 'chooser' utility that comes as part of xdm. The equivalent on AIX is called dtchooser (under AIX the XDM stuff seems to be all part of CDE in the /usr/dt directory).
I don't have to worry what the chooser utility is called, because the XDMCP call over the network will kick it off automatically when I do:
X -indirect aixbox
- from another machine on the network. As you'll have guessed, 'aixbox' is the hostname of my PowerPC-based AIX server. This time instead of putting me onto the AIX desktop, dtchooser powers up, scans the network for listening XDM machines and after a short delay presents me with a list of them to choose from (see the screenshot on this page).
If you have a network, however small, that is running more than one operating system that supports X (and there are X servers for Windows too), do give this XDM stuff a go, if you haven't already. And, as ever, drop me an email to let me know how you get on.
- Other free UNIXes
Paul Lee raises the perennial question: Why Linux?
"Please do not interpret this email as a criticism of your fine column.
It isn't. Even considering all the publicity that Linux gets, it's still worth noting that there are other free UNIXes out there, and wondering why Linux is taking off exponentially and they are not. The UNIXes I am on about are the BSD's, Open, Free and Net. Each seems to offer its own specialisation.
Yes, I agree, Paul, and I do get mail about this from time to time, suggesting that I put too much of an emphasis on Linux. I suppose a glib answer would be that Linux is easier to install on a wider range of hardware, and the benefits of the alternatives are too marginal to make an impact.
The 'specialisation' you talk about is a problem for a column like this.
The historical reasons for the fragmentation of BSD are fascinating, but obviously don't help ordinary users get a coherent picture of what UNIX is. It's true that there are a variety of Linux distributions, but they'll all fundamentally the same operating system once installed.
My take on this question is that I'm writing the UNIX column, not the Linux or BSD column. Essentially I'm trying to get to the heart of what UNIX is all about, and it seems to make sense to focus on the UNIX that most of my readers seem to be using, if I can do this without getting too bogged down in Linux-specific issues.
PCW CONTACTS
Chris Bidmead welcomes your comments on the Unix column. Contact him via the PCW editorial office or email unix@pcw.co.uk.
Related articles
Q.Why are some of the keys on my keyboard doing strange...
Q.Is my phone’s Bluetooth any use?
Q.Can I switch boot drives so that I can work on older...
Old Street roundabout is being touted by the Government as the UK's answer to Silicon Valley, but it seems our best innovations are coming from all over the UK
|
|
|
|
|
Computeractive Excel (2010) Online tutorialPrice: £19.99 |
Computeractive Word (2010) Online TutorialPrice: £19.99 |
Computeractive Powerpoint (2010) Online TutorialPrice: £19.99 |
Angry BirdsPrice: £9.99 |
Back Issue CD-Rom 14 (2011)Price: £15.99 |