Page Numbers: Yes X: 527 Y: 10.5" First Page: 17
Heading:
The Alto-Dolphin-Dorado Briefing Blurb
A Printing Discussion
You might expect that Xerox Corporation might be more than a little interested in printing. Indeed, we are so interested that we have created an array of printing facilities sufficient to confuse any newcomer. Let’s try to understand the basics.
First of all, there is an important difference between copiers and printers. A copier obtains its input by scanning a physical image in some way. A printer obtains its input image in digital form from some external source, e.g., an interface to an Alto.
There are a lot of printing programs about: Press, Spruce, Empress. There are a lot of printers too: Dover, Sequoia, Versatec. To make matters worse, each of the instances of each of these printers has a name as well: Clover, Menlo, Lilac, Daisy. As you might expect, not all programs can talk to all printers, but we’re working on that (see axiom 2 below). Here are a few axioms that may help you reason logically about all this:
1)There are no line printers around here. All of our printers are built on top of Xerox copier printing engines that have been lobotomized and brainwashed to understand the babbling of an Alto instead of an optical input scanner.
2)Press files are the Esperanto of documentation. Most printer servers demand that the documents you send them be in Press file format. This means you have to convert whatever you have in hand (usually text) to Press format before a server will deign to print it. There are several ways to do this.
3)Press files are hairy. Some printer servers don’t support the full generality available in a Press file. Generally, however, such servers will simply ignore what they can’t figure out, so you can safely send them any Press file you happen to have.
4)There is an extensive collection of standard fonts, and they are mostly straightforward to use. Be prepared for a few surprises if you insist on building your own. The most unpleasant surprise is that you have to be a wizard in order to print with your new font! You can’t use a new font unless it is added to the font dictionary on your printer, and adding fonts to dictionaries is a delicate operation: a sad state of affairs in anyone’s estimation.
In general, if you simply want to make a memo, or a listing of a program, or a copy of a documentation file that someone has sent you, things are quite straightforward. Bravo’s hardcopy command [13] will take the file you are editing, convert it to Press format (including all the formatting information you have supplied), and ship it directly to any printing server you specify. The important server program to know about is Spruce, which understands everything Bravo can produce. Spruce is the current driving program of choice for Dovers and Penguins, and is the server you will use for almost everything unless you are a graphics hacker.
Spruce will accept Press files from any source (though it does not implement all Press features). Standard documents and memos are typically stored in Press format, so you can ship them directly to your favorite Spruce server. From an Alto, use the Empress program; from Maxc or an IFS, use the PRESS command.
Empress can tell the difference between a Press file and a text file, and will convert a text file to Press format if necessary before sending it to the printing server. If you do this a lot, you will want to know about various options that apply to this conversion—see {10}. In such cases, Empress uses a single font, which generally has a fixed pitch. This is the way we simulate a line printer.
Spruce servers have a collection of fonts stored locally. Press files do not contain the representation of the fonts they require, only their names. Naturally, if a Press file is produced using fonts that a Spruce server doesn’t have, the server will have a hard time printing it. Spruce will attempt a reasonable substitution for unavailable fonts, and tell you about it on the break page of your listing. If you have chronic font difficulties of this sort, contact your local Spruce maintainer.
Most frequently traveled paths through the printing maze
Running onInput fileOutputProgram
formatdesiredto use
MaxcTextPress file/printerPRESS command
PressPress printerPRESS command
IFS
PressPress printerPress command
Alto
TextPress file/printerEmpress, Bravo
BravoPress file/printerBravo
PressPress printerEmpress
DrawPress fileDraw or ReDraw
SILPress fileSIL
A few caveats go along with this table. First, it is typically easier to format and print large files from Maxc (because of disk space considerations) than from an Alto, but it often takes longer. Second, you should know that these various programs have a large number of options and defaults, and they are not always consistent. Beware of printing groups of files with *-expansion on Maxc (particularly *.*) unless you are certain you are doing it properly. (LIST *.* is a disaster, for more reasons than you might think.) For more details about printing, and before you try to do anything clever, read {21}.
Beyond the Black and White Horizon - MAXC and the Arpanet
Sitting at your Alto, you can easily forget about the other computing facilities that are within your grasp. One important server on the network is MAXC, which is a home-grown microprogrammed processor masquerading as a PDP-10, and running Tenex. Maxc is connected to the Arpanet, so it is possible for you to reach out to any machine connected to the Arpanet, at least in principle. In practice, not many people do (and there are restrictions imposed by our ARPA contract as well), except to send messages to people at other Arpanet sites. Laurel understands Arpanet names in messages, so you don’t need to use Maxc directly to send or receive Arpanet mail.
Looking under Rocks
All Alto users should know about various interesting files and directories. There is no coherent logic to the placement of ``general interest’’ files and directories, nor even to the division between Maxc and Ivy. Browse through the glossary at the end of this document to get a rough idea of what’s around. If something is available to the universities in the University Grant program, then it is probably on Maxc (or archived off of Maxc), since Maxc is the machine that the university folk can access.
Browsing on Maxc
The primary directories for documentation on Maxc are <AltoDocs>, <Doc>, <PrintingDocs>, <Mesa-Doc>. As you can see, the naming conventions aren’t very consistent, so you may have to fumble around a bit before you find the right one. The Tenex file name completer (ESC) can take some of the difficulty out of remembering, as can a quick glance in the glossary at the end of this document.
Just because you don’t find a particular file, don’t give up! Tenex has an automatic facility called ``archiving’’, which moves infrequently accessed files to tape. It sometimes happens that the documentation you are looking for has been archived. There is a Tenex command, ``Interrogate’’, that will help you locate an archived file—see [9].
Maxc is still the file repository ``of record’’ for some families of files, though that burden is gradually being shifted to various IFS servers. These servers frequently have duplicate copies of documentation, packages, subsystems, and the like. This is done partly for redundancy and partly to decrease the load on Maxc when a new version of a popular Alto facility is released. Duplicated directories always have the same name on IFS servers, but are not always scrupulously maintained, and therefore may be inconsistent, incomplete, or obsolete. Proceed with caution.
Browsing on IFS servers
IFS servers don’t have an archiving facility (yet, although they may soon), which means that you are less likely to overlook something interesting. IFS supplies a general sub-directory structure which the Maxc file system lacks, and as a result there are many more pigeonholes in which to look. For example, on Maxc you might look for
<AltoDocs>MyFavoritePackage.press
while on IFS you would probably look for
<Packages>Doc>MyFavoritePackage.press
<Packages>MyFavoritePackage>Documentation.press
or perhaps some other permutation. This requires a bit of creativity and a little practice. However, if you use the ``Chat Executive’’ and get in the habit of using ``*’’s in file name specifications, you will find all sorts of things you might not otherwise locate. Note that a ``*’’ in a request to an IFS will expand into all possible sequences of characters, including right angle brackets and periods. Thus, for example, a request for
<Packages>*press
refers to all files on all subdirectories of the Packages directory that end with the characters ``press’’. A ``*’’ won’t match a left angle bracket, by the way. Thus, if you ask for ``*.press’’, you are referring to all Press files on the current directory. If you ask for ``<*.press", you are referring to all of the Press files on the entire IFS (and expect such searches to take a LONG TIME!).
Warning: Once you have gotten used to the IFS conventions about ``*’’s in file names, you will find the TENEX rules quite restrictive and unnatural. On TENEX, an asterisk can only be used to wildcard either the entire filename or the entire extension. If you want to refer to all of the files on a TENEX directory, you must say ``*.*’’, not just ``*’’; this lack of ``forward compatibility’’ (the opposite of backward compatibility?) has tripped up many a searcher.
Code Phrases
You may occasionally hear the following incomprehensible phrases used in discussions, sometimes accompanied by laughter. To keep you from feeling left out, we offer the following translations:
``Committing error 33’’
(1) Predicating one research effort on the success of another. (2) Allowing your own research effort to be placed on the critical path of some other project (be it a research effort or not). Known elsewhere as Forgie’s principle.
``You can tell the pioneers by the arrows in their backs.’’
Mostly self-explanatory. Usually applied to the bold souls who attempt to use brand-new software systems, or to use older software systems in clever, novel, and therefore unanticipated ways ... with predictable consequences. Also heard with ``asses’’ replacing ``backs’’.
``We’re having a printing discussion.’’
Refers to a protracted, low-level, time-consuming, generally pointless discussion of something peripherally interesting to all. Historically, printing discussions were of far greater importance than they are now. You can see why when you consider that printing used to be done by carrying magnetic tapes from Maxc to a Nova that ran an XGP.
Fontology
The body of knowledge dealing with the construction and use of new fonts. It has been said that fontology recapitulates file-ogeny.
``What you see is what you get.’’
Used specifically in reference to the treatment of visual images by various systems, e.g., a Bravo screen display should be as close as possible to the hardcopy version of the same text.
``Hey guys, up-level!’’
The conversation has degenerated to a discussion of nitty-gritty details. This phrase is often preceded or followed by: ``We’re having a printing discussion.’’
... smashed to zero
A quaint way of saying that some memory location has acquired the value zero when it should have something else. "Smashed" is much preferred to "clobbered" in local argot, though in this context it seems about as appropriate as using a wrecking ball to stack bricks.
``Life is hard’’
Two possible interpretations: (1) ``While your suggestion may have some merit, I will behave as though I hadn’t heard it.’’ (2) ``While your suggestion has obvious merit, equally obvious circumstances prevent it from being seriously considered.’’ The charm of this phrase lies precisely in this subtle but important ambiguity.
``What’s a spline?’’
``You have just used a term that I’ve heard for a year and a half, and I feel I should know, but don’t. My curiosity has finally overcome my guilt.’’ Moral: don’t hesitate to ask questions, even if they seem obvious.
Some CSL Lore
Here are a few bits of information specific to CSL that you should know:
CSL has a weekly meeting on Wednesday afternoons called Dealer, starting at 1:15. The name comes from the concept of ``dealer’s choice’’—the dealer sets the ground rules and topic(s) for discussion. When someone says she will ``give a Dealer on X’’, she means that she will discuss X at some future weekly meeting, taking about 15 minutes to do so (plus whatever discussion is generated). Generally, such discussions are informal, and presentations of half-baked ideas are encouraged. The topic under discussion may be long-range, ill-formed, controversial, or all of the above. Comments from the audience are encouraged, indeed, provoked. More formal presentations occur at the Computing Forum on Thursday afternoons, which is not specifically a CSL function and is open to all Xerox employees. Dealers are also used for announcements which are not appropriate for distribution by electronic mail. Members of CSL are expected to make a serious effort to attend Dealer.
On occasions of great festivity, Dealer is replaced by a picnic on the hill (that is, Coyote Hill), with Mother Xerox picking up the tab.
The CSL Archives (not to be confused with TENEX archives) are a collection of file cabinets and 3-ring binders that provide a continuing record of CSL technical activities. The archives are our primary line of defense in legal matters pertaining to our projects, but they make interesting reading for anyone curious about the history of any particular project. You will find it most informative to browse the archives from time to time, just to see what’s been going on in those projects you just haven’t quite had the time to monitor. Ask someone to point you at the cubicle where the archives are stored.
If you are a CSL member and need a new disk pack, see Mike Overton in the CSL lab (across from the Commons).
Some ISL Lore
Here is one item of information specific to ISL:
ISL also has a weekly meeting, on Tuesday’s starting at 11:00 am. This meeting is still nameless. In fact, Chuck Geschke has a standing offer of a bottle of fine Cabernet to anyone that can come up with a name for this meeting that Chuck likes enough to adopt: the Cabernet is aging unclaimed as of this writing.
Gracious Living Hints
There are a couple of areas where life at PARC can be made more pleasant if everyone is polite and thoughtful enough to go to some effort to help out. Here are a few words to the wise:
Coffee
Both ISL and CSL have coffee alcoves where tea, cocoa, and several kinds of coffee are available. All coffee drinkers (not just the secretaries or some other such barbarism) help out by making coffee. If you are about to consume enough coffee that you would leave less than a full cup in the pot, it is your responsibility to make a fresh pot, following the posted instructions. There are lots of coffee fanatics around, and they get irritated beyond all reason if the coffee situation isn’t working out smoothly. For those coffees for which beans are freshly ground, the local custom is to pipeline grinding and brewing; you are expected to grind a cup of beans while brewing a pot of coffee from the previous load of ground beans. This speeds up the brewing process for everyone, since a load of ground beans is always ready when the coffee pot runs out.
Sharing Office Space
Be warned as well that some lab members are unbelievably picky about the state of their offices. The convention is that any Alto in an empty office is fair game to be borrowed; Dolphins and Dorados are another matter, because of the problems of sharing disk space. But, if you borrow someone’s Alto, or use their office for some other reason, take care to put everything back exactly the way it was. Don’t spill crumbs around, or leave your half-empty cocoa cup on the desk, or forget to put the owner’s disks back in her machine, or whatever. Of course, lots of people wouldn’t mind even if you were less than fanatically careful. But some people do mind, and there is no point in irritating people unnecessarily.
Sharing Dorados, and Sharing Local Disk Space
The sharing of disk space has its own ethics and morality. First of all, don’t attempt to ``share’’ a private partition, except with the explicit prior consent of the owner; only public partitions are intended to be generally used in shared mode. The law regarding public partitions is that everyone is supposed to be living cleanly: that is, completely backed up on remote file servers. Hence, according to the ``letter of the law’’, you are completely within your rights if you delete anything from a public partition, whether you really need more space or not. And in fact, even if the ``thing’’ that you are deleting is a standard system facility, such as the Mesa compiler. But going along with the ``letter of the law’’ is the ``spirit of the law’’. We can all use public partitions more effectively and spend less time in CopyDisk and FTP if we treat the public partitions with some care. Try not to delete standard systems, unless you really need the space. And be even more careful not to leave non-standard versions of standard files on a public partition, where they might confuse the user who follows you. Clean up after yourself if that is convenient, to give the next user a pleasant start at her Dorado time.
In general, be aware that it is only good citizenship to try to get a sense of the common Dorado usage patterns in your environment, and not to upset those patterns when there are clear alternatives. Oh boy, do I feel old! When I first started hanging around CSL, the term ``citizenship’’ referred to a score computed from the timing and extent of one’s usage of cycles on Maxc. And a big list giving everyone’s citizenship rating as well of lots of other Maxc statistics was posted each month near the coffee alcove. Nowadays, right across the hall, you will find the sign-up lists for the pool Dorados of CSL and ISL. Right next to the lists, you will find posted a full list of the current rules governing signing up, and a map showing the locations of the Dorado terminals.
Sharing printers
When you pick up your output from a printer, it is considered antisocial merely to lift your pages off the top of the output hopper, and leave the rest there. Take a moment to sort the output into the labelled bins. Sorting output is the responsibility of everyone who prints, just as making coffee is the responsibility of everyone who drinks (coffee). Check carefully to make sure that you catch every break page: short outputs have a way of going unnoticed, and hence being missorted, especially when they are right underneath a long output in the stack. The rule for determining which bin is to use the first letter that appears in the name on the break page. Thus, ``Ramshaw, Lyle’’ should be sorted under ``R’’, while ``Lyle Ramshaw’’ should be sorted under ``L’’. A trickier question is what to do with output for ``Noname’’, which is the name of someone who hasn’t logged in to their Dorado partition. Following the rule would suggest filing such output under ``N’’, but that doesn’t seem very helpful, since the originator probably won’t find it. Check the contents and file it in the right box if you happen to recognize whose output it is; otherwise, (?) leave it on top of Clover, or (?) stick it back in the output hopper.
The phone system
If you make a significant number of personal long-distance phone calls off of Xerox phones, it is your responsibility to arrange to reimburse Xerox for them. This may not be that easy, either, since phone bills take quite a while (six weeks or so) to percolate through the bureaucracy upstairs, and the said bureaucracy also has a lot of trouble figuring out where to send the phone bills of new people, and people who move around a lot. Just because it is easy to steal phone service from Xerox doesn’t make it moral: if you think you aren’t being paid enough, you should start agitating for a raise. Furthermore, if enough suspicious calls are made without restitution, PARC (being a bureaucracy) will impose some bureaucratic ``solution’’ on us all.
But enough of preaching: so as not to end on a sour note, let’s finish up by discussing how the phone system works, anyway. The offices within PARC have four-digit extensions within the 494 exchange (what Ma Bell calls Centrex); to dial another office, those four digits suffice. Dialing a single 9 as the first digit gives you an outside line, and you are now a normal customer of Ma Bell: see a phone book [Oh, come now, surely you know about phone books!] for more details. Dialing a single 8 gives you different sounding dial tone, and puts you onto the IntelNet (not to be confused with the InterNet, of course). The IntelNet is a Xerox-wide company phone system, complete with its own phone book, and its own phone numbers. If you are calling someone in some remote part of Xerox, you can save Mother Xerox some bread by using the IntelNet instead of going straight out over Ma Bell’s lines. On the other hand, you may not get as good a circuit to talk over; although this situation is said to be improving. Furthermore, through the wonders of modern electronics, you can dial any long-distance number over the IntelNet. Just use the normal area code and Ma Bell number: the circuitry is smart enough to take you as far as possible towards your destination along IntelNet wires, and then switch you over to Ma Bell lines for the rest of the trip. Using the IntelNet doesn’t start to save money until the call is going a fair distance; therefore, the IntelNet doesn’t let you call outside numbers in area codes 408, 415, and 916—better to just dial 9 and go via Ma Bell from the beginning.
One more thing: after you have dialed a number on the IntelNet, you will hear a funny little beeping. At that point, you are being asked to key in a four-digit number to which the call should be billed. You should use the four-digit extension number for your normal office phone under most circumstances. Calls made by dialing 9 instead of 8 are always charged to the phone from which they are placed.
If you are expecting a call but won’t be near your normal phone, a call forwarding facility exists: dial 106 and then the number to which you want your calls to be forwarded. Later on (try not to forget), you dial 107 on your normal phone to cancel the forwarding. There is also a way to transfer incoming calls to a different Xerox number: Depress the switch hook once, and dial the destination number; when the destination answers, you will talking to the destination but the original caller won’t be able to hear your conversation; depressing the switch hook again puts all three of you on the line; then you can hang up when you please. If the destination doesn’t answer, depressing the switch hook a third time will flush the annoying ringing or busy signal.