Take Care of Those 2040 Printouts
As we all have discovered, to our sorrow, those printouts produced by the TS2040 printer are pretty fragile stuff. No paper has an unlimited life, of course, as witness the incredible lengths to which libraries go to try to protect their most valuable books. But your printer’s paper reminds one of the poet who wanted his epitaph to read “Here lies one whose name is writ in water”.
To begin with, the paper is temperature-sensitive. That’s how it works. So it goes without saying that exposure to heat or sunlight is going to impair its usability. For instance, I bought some rolls of the double-width Big Blue paper, with the intention of splitting them to fit the 2040 printer. A great bargain, but you should have seen what happened to the paper when I split it with my bandsaw. Luckily, that big black smear was out at the edge, where it doesn’t interfere with the printing. Paul Holmgren tells me that he got a noticeable discoloration just from using a hacksaw.
Another problem with the paper is that it seems to have a special absorbency for glue. I tried mounting some printouts on stiff paper, and found after a few days that the glue had made serious stains. Similarly when I tried splicing two printouts together with transparent tape. Even the so-called PERMANENT tape soon makes the printing illegible–even when it’s applied to the back of the thermal paper.
The only solution that I have found is to photocopy the printouts IMMEDIATELY. Well, within a couple of days, anyway. Then your records will have the permanence of the photocopy paper, whatever that happens to be. You can be sure that it’ll be many orders of magnitude better than that of the thermal paper.
Or you could SAVE the program on tape or disk, of course, and generate a new printout whenever you want one.
One technique I got from Bob Swoger–the cores of bathroom tissue rolls just fit the 4-1/2 inch paper, and make great mailing tubes. Far better than folding the printout, and hoping that you don’t damage it in the process.
While we’re at it, Frank Davis tells me that Radio Shack makes a thermal paper that almost fits the 2040. The trouble is that it’s a fraction of an inch narrower, and tends to wander. Frank invested 50 cents (two quarters) and inserted them (standing on edge) in the printer’s paper well, one on each side of the paper roll. Workers with more sturdy materials call this sort of wedge a “shim”.
Of course, you can use Susan B. Anthony dollars instead of quarters, if you want to be ostentatious . . .
A Loser on a Loser
Serious bridge players recognize the value of the tactic of playing a loser on a loser. Suppose, for instance, that you (declarer) have a small diamond in your hand, and a small heart in dummy. Spades are trumps. At best, you’d like to take a trick with each of these small cards, either by trumping them or by leading them after your opponents have nothing left but clubs. But you can’t always manage things so neatly. The next best tactic, if you can arrange it, is to get rid of them both on the same trick, rather than losing a separate trick with each.
Similarly in programming. If you have two operations that take lots of time, see if you can arrange the program so that you can combine the delays of both operations, with a saving in overall delay. Or at least a saving in the frustration generated by the delay.
A principal cause for delay in computer operation is the response time of the human senses and muscles. Here’s a way that you can “bury” an unavoidable delay into that response time.
The program shown is a simple sort routine. The trick is that it sorts each number WHEN IT IS ENTERED, so the time of sorting tends to get lost in the time it takes to INPUT the number. Even in BASIC, which is not known for its high speed, the sort time is not detectable, unless you bury the new number way down below hundreds of numbers already in the array. If you used machine code, even that delay would be impossible to detect.
This technique also accommodates transcendental numbers, by the way, as well as fractions, negative numbers, and numbers expressed in engineering notation, such as 2E4.
10 LET a=1000
20 DIM n(a)
30 LET count=0
110 INPUT n$
120 IF n$=" STOP " THEN GO TO 1
000
130 LET no=VAL n$
140 FOR f=count TO 1 STEP -1
150 IF no>=n(f) THEN GO TO 180
160 LET n(f+1)=n(f)
170 NEXT f
180 LET n(f+1)=no
190 LET count=count+1
200 IF count<a THEN GO TO 100
1000 FOR f=1 TO count
1010 PRINT n(f);" ";
1020 NEXT f
Low-delay SORTING program
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.