General > General Technical Chat
Was Don Lancaster really a "guru"?
<< < (12/39) > >>
rhb:

--- Quote from: rstofer on November 08, 2018, 03:37:13 pm ---Despite the negative OP, this thread is fun!  A lot of us share a common history and it has been an amazing ride!
Imagine, a time before C ('72), a time when FORTRAN ('57) ruled the scientific community and COBOL ('60) was the language of choice for business.  Or maybe when Algol ('58) showed us the right way to program.

Imagine!  I was writing FORTRAN before C was invented!  How cool is that?

The last 50 years have been outrageous!  I wonder what comes next?

--- End quote ---

I was thinking the same thing.  It took a while to find, but the discussion of front panel switches made me hunt down "Know Your System Administrator: A Field Guide".  This was always my favorite.

SITUATION: Root disk fails

    TECHNICAL THUG: Repairs drive. Usually is able to repair filesystem from boot monitor. Failing that, front-panel toggles microkernel in and starts script on neighboring machine to load binary boot code into broken machine, reformat and reinstall OS. Lets it run over the weekend while he goes mountain climbing.

I had the pleasure of knowing a geoscience department electronics tech, John Thorne, who recovered a PDP 11 for another department via a bit of front panel work in the late 80's.  He was rather pleased with himself as the alternative was a great deal of work and it's easy to mess up flipping switches.  But a very pleasant and modest person.  He designed and built the department mass spectrometer.  Put a "No Bozos" sticker on one of the rack panels.  He was rather mysterious about his past, but was good good friends with Joseph Carr, the RF author.  As best I could guess he had spent a good bit of time working for some 3 letter agency in the DC area and in the process got involved in something which upset him to the point he left and took to reading the Bible a lot.  He never mentioned the Bible, but he had one of those versions with 20 or 30 bookmarks built in in his office.

And of course, there's Mel Kaye.  At one job I formatted "The Story of Mel" as a man page so if a user typed "man mel" it came up in standard man page format.

I encountered FORTRAN in chemistry class in the fall of '71 and took my only computer course, WATFIV, a few years later.  I later suffered with BASIC on the Vic20 until I got a forth ROM cartridge.  Naturally, as a scientist I used FORTRAN until I was handed 5000 lines of almost completely uncommented C written at Stanford and a Sun 386i as a summer intern.  I'd been running a MicroVAX II in the BA123 worldbox for several years before that.  So by the end of the summer I'd read Bach and Lefler, McKusick et al and could be found wandering around saying "awk, bailing out near line one".

I typically use C unless I need to do complex arithmetic in which case I switch to FORTRAN 77 and call it from C.  I'd really like to learn 9X, but I've never found a book suited to someone who is familiar with BNF, lex, yacc  etc.

I recently was sent a PDF of the new FORTRAN standard, but as there is no chance of scientific work at my age and the current oil prices,  learning Verilog is more important now.
rstofer:
There was a time before MATLAB when, if you wanted a graph, you wrote the plot code yourself.  Here is a sample from my grandson's Algebra book that I coded up a few years back and have used in a discussion during his Calc I class in college:


--- Code: ---// JOB
// DUP
*DELETE             PLOTA
// FOR
**PLOT AREA
*NAME PLOTA
*LIST ALL
*ONE WORD INTEGERS
*IOCS(PLOTTER)

      NPLOT = 7

    1 FORMAT(I2)
    2 FORMAT('SIDE X IN FEET')
    3 FORMAT('AREA IN SQUARE FEET')
    4 FORMAT('AREA')
    5 FORMAT('X')
    6 FORMAT('16 - X')
    7 FORMAT('PERIMETER P = 32')
    8 FORMAT('AREA A = 16X - X**2')
    9 FORMAT('FENCING A RECTANGULAR AREA WITH 32 FEET OF FABRIC')
   10 FORMAT('SLOPE S = ')
   11 FORMAT('DA')
   12 FORMAT('DX')
   13 FORMAT(' = 16 - 2X')
   14 FORMAT('SLOPE')
   15 FORMAT(I3)
C
C     PEN COMMANDS
C     INC - No Change
C     IDB - PEN DOWN BEFORE MOTION
C     IDA - PEN DOWN AFTER MOTION
C     IUB - PEN UP BEFORE MOTION
C     IUA - PRN UP AFTER MOTION
C
      INC =  0
      IDB =  2
      IDA = -2
      IUB =  1
      IUA = -1 
C
C     CHSZX - CHARACTER SIZE X IN INCHES
C     CHSZY - CHARACTER SIZE Y IN INCHES
C
      CHSZX = 0.1
      CHSZY = 0.1
C
C     SX IS X-AXIS SCALE FACTOR : 5.5 INCHES OF PAPER FOR 17 UNITS
C     SY IS Y-AXIS SCALE FACTOR : 6.0 INCHES OF PAPER FOR 64 UNITS
C
      SX =  5.5 / 17.0
      SY =  6.0 / 64.0
C
C     XORG - PHYSICAL LOCATION OF GRAPH X ORIGIN ON PAPER
C     YORG - PHYSICAL LOCATION OF GRAPH Y ORIGIN ON PAPER
C
      XORG = 4.4
      YORG = 1.8
C
C     INITIAL PEN POSITION
C     
      PX = -XORG / SX
      PY = -YORG / SY
C
C     SET SCALE, DRAW BOTH AXIS AND PLACE PEN DOWN AT 0.0, 0.0
C
      CALL SCALF(SX, SY, PX, PY)
      CALL FGRID(0, 0.0, 0.0, 1.0, 16)
      CALL FGRID(1, 0.0, 0.0, 4.0, 16)
      CALL FPLOT(IDA, 0.0, 0.0)
C
C     DRAW THE CURVE AND RAISE PEN AFTER COMPLETION
C
      CALL PEN(8)
      DO 20 I = 1, 17
        X = FLOAT(I) - 1.0
        Y = X * (16 - X)
        CALL FPLOT(INC, X, Y)
        CALL POINT(1)
   20 CONTINUE
      CALL PEN(0)
      CALL FPLOT(IUB, X, Y)
C
C     LABEL Y GRID WITH 0.1 x 0.1 CHARACTERS
C
      DO 30 I = 1, 17
        J = 4 * (I - 1)
        X = -(3.0 * CHSZX) / SX
        Y = FLOAT(J) - ((CHSZY / 2.0) / SY)
        CALL FCHAR(X, Y, CHSZX, CHSZY, 0.0)
        WRITE(NPLOT,1) J
   30 CONTINUE
C
C     LABEL X GRID 0.1 x 0.1 CHARACTERS
C
      DO 70 I = 1, 17
        J = I - 1
        IF (J - 10) 40, 50, 50
   40     X = FLOAT(J) - ((1.5 * CHSZX) / SX)
          GOTO 60
   50     X = FLOAT(J) - (CHSZX / SX)
   60   Y = -(2.0 * CHSZY) / SY
        CALL FCHAR(X, Y, CHSZX, CHSZY, 0.0)
        WRITE(NPLOT,1) J
   70 CONTINUE
C
C     LABEL Y AXIS 0.2 X 0.2 CHARACTERS ROTATED 90 DEGREES
C
      CHSZX = 0.2
      CHSZY = 0.2

      X = -0.5 / SX
      Y = 32.0 - ((9.5 * CHSZY) / SY)
      CALL FCHAR(X, Y, CHSZX, CHSZY, 1.5708)
      WRITE(NPLOT, 3)
C
C     LABEL X AXIS 0.2 x 0.2 CHARACTERS
C
      X = 8.0 - ((7.0 * CHSZX) / SX)
      Y = -(3.0 * CHSZY) / SY
      CALL FCHAR(X, Y, CHSZX, CHSZY, 0.0)
      WRITE(NPLOT,2)
C
C     DRAW THE BOX
C
      CALL FPLOT(IDA,  5.0, 16.0)
      CALL FPLOT(INC, 11.0, 16.0)
      CALL FPLOT(INC, 11.0, 24.0)
      CALL FPLOT(INC,  5.0, 24.0)
      CALL FPLOT(IUA,  5.0, 16.0)
C
C     LABEL THE BOX AND EQUATION FOR AREA
C
      CHSZX = 0.1
      CHSZY = 0.1

      X = 8.0 - ((2.0 * CHSZX) / SX)
      Y = 20.0 - ((CHSZY / 2.0) / SY)
      CALL FCHAR(X, Y, CHSZX, CHSZY, 0.0)
      WRITE(NPLOT,4)

      X = 8.0 - ((3.0 * CHSZX) / SX)
      Y = 16.0 - ((2.0 * CHSZY) / SY)
      CALL FCHAR(X, Y, CHSZX, CHSZY, 0.0)
      WRITE(NPLOT,6)

      X =  5.0 - ((2.0 * CHSZX) / SX)
      Y = 20.0 - ((CHSZY / 2.0) / SY)
      CALL FCHAR(X, Y, CHSZX, CHSZY, 0.0)
      WRITE(NPLOT,5)

      X = 8.0 - ((8.0 * CHSZX) / SX)
      Y = 12.0 - ((2.0 * CHSZY) / SY)
      CALL FCHAR(X, Y, CHSZX, CHSZY, 0.0)
      WRITE(NPLOT,7)

      X = 8.0 - ((9.5 * CHSZX) / SX)
      Y = 12.0 - ((4.0 * CHSZY) / SY)
      CALL FCHAR(X, Y, CHSZX, CHSZY, 0.0)
      WRITE(NPLOT,8)
C
C     DRAW EQUATION FOR SLOPE
C
      X = 8.0 - ((11.0 * CHSZX) / SX)
      Y = 12.0 - ((7.0 * CHSZY) / SY)
      CALL FCHAR(X, Y, CHSZX, CHSZY, 0.0)
      WRITE(NPLOT,10)

      X = 8.0 - ((1.0 * CHSZX) / SX)
      Y = 12.0 - ((6.0 * CHSZY) / SY)
      CALL FCHAR(X, Y, CHSZX, CHSZY, 0.0)
      WRITE(NPLOT,11)

      Y = 12.0 - ((8.0 * CHSZY) / SY)
      CALL FCHAR(X, Y, CHSZX, CHSZY, 0.0)
      WRITE(NPLOT,12)

      X = 8.0 + (5.5 * CHSZX)
      Y = 12.0 - ((7.0 * CHSZY) / SY)
      CALL FCHAR(X, Y, CHSZX, CHSZY, 0.0)
      WRITE(NPLOT,13)

      X  = 8.0 - ((1.0 * CHSZX) / SX)
      Y  = 12.0 - ((6.5 * CHSZY) / SY)
      X1 = X + ((2.0 * CHSZX) / SX)
      CALL FPLOT(IDA,  X, Y)
      CALL FPLOT(IUA, X1, Y)
C
C     RESET ORIGIN AND SCALE
C
      CALL FPLOT(INC, 0.0, 0.0)
      CALL SCALF(1.0, 1.0, XORG, YORG)
C
C     DRAW THE TABLE OF VALUES BOX
C
      BXORG = 0.75
      BYORG = 3.5
      CALL FPLOT(IDA, BXORG, BYORG)

      CALL SCALF( 1.0, 1.0, 0.0, 0.0)
      HT  = 2.75
      WD  = 1.7
      COL1 = 0.375
      COL2 = 1.0
      CALL FPLOT(INC,   WD, 0.0)
      CALL FPLOT(INC,   WD, HT)
      CALL FPLOT(INC,  0.0, HT)
      CALL FPLOT(IUA,  0.0, 0.0)
      CALL FPLOT(IDA,  0.0, HT - 0.15)
      CALL FPLOT(IUA,   WD, HT - 0.15)
      CALL FPLOT(IDA, COL1, HT)
      CALL FPLOT(IUA, COL1, 0.0)
      CALL FPLOT(IDA, COL2, HT)
      CALL FPLOT(IUA, COL2, 0.0)
C
C     LABEL THE COLUMNS
C
      X = (COL1 / 2.0) - (CHSZX / 2.0)
      Y = HT - 0.075 - (CHSZY / 2.0)
      CALL FCHAR(X, Y, CHSZX, CHSZY, 0.0)
      WRITE(NPLOT,5)
      X = COL1 + 0.15
      CALL FCHAR(X, Y, CHSZX, CHSZY, 0.0)
      WRITE(NPLOT,4)
      X = COL2 + 0.1
      CALL FCHAR(X, Y, CHSZX, CHSZY, 0.0)
      WRITE(NPLOT,14)
C
C     FILL IN THE TABLE
C
      DO 80 I = 1, 17
        J = I - 1
        Y = (HT - 0.3) - (FLOAT(J) * (1.5 * CHSZY))
        X = 0.075
        CALL FCHAR(X, Y, CHSZX, CHSZY, 0.0)
        WRITE(NPLOT,1) J
        X = COL1 + 0.2
        CALL FCHAR(X, Y, CHSZX, CHSZY, 0.0)
        IAREA = J * (16 - J)
        WRITE(NPLOT,1) IAREA
        X = COL2 + 0.15
        CALL FCHAR(X, Y, CHSZX, CHSZY, 0.0)
        ISLOP = 16 - (2 * J)
        WRITE(NPLOT,15) ISLOP
   80 CONTINUE     
C
C     TITLE THE PAGE
C
      CHSZX = 0.2
      CHSZY = 0.2

      CALL FPLOT(INC, 0.0, 0.0)
      CALL SCALF(1.0, 1.0, BXORG, BYORG)

      Y = 0.50
      X = 5.0 - (24.5 * CHSZX)
      CALL FCHAR(X, Y, CHSZX, CHSZY, 0.0)
      WRITE(NPLOT,9)
C
C     EJECT PAGE AND EXIT
C
      CALL PLTEJ
      CALL EXIT
     
      END
// DUP
*STORE      WS  UA  PLOTA
// XEQ PLOTA


--- End code ---



Maximum variable name length = 5, only upper case, and other restrictions...

The output is attached...

This was written for my FPGA implementation of the IBM 1130 which, in my case, had a Calcomp 1627 drum plotter.  I currently send plotter output directly to a LaserJet using HPGL statements to draw the image.

The original plotter had 100 steps per inch and each line segment was created with a series of steps.
http://ibm1130.org/hw/io/

Those were fun days '70-'72
rhb:
I wrote code to plot well logs using a very primitive plotting utility.  The standard style of annotation, tic marks, etc is quite complex and requires multiple tracks aligned vertically.

The Calcomp I used in my first pass through grad school had a dedicated system with a 9 track.  So I'd run my contouring job on the IBM and then pick up my tape and go to another location where the Calcomp was located. This was in '81 and it was seldom used, so I had to learn a good bit about maintaining the pens, etc.   

But most of  my  seismic plotting was done on Versatecs.  They were a nightmare to maintain, but they certainly could spit out paper fast which is very important if you need a 30 ft x 30" plot.  At work we would lay them out in the hall.  So it was common to see people walking around without their shoes.  It was considered very poor etiquette to walk on someone's plot with you shoes on.  And not uncommon to encounter plots spread out on both sides of the hall.  So you took off your shoes until you got to the end of the plot.
edavid:
When I read Don's books back in high school*, I was blown away and definitely thought he was the ultimate electronics guru.

Recently I reread some of them, and wasn't so impressed.  The CMOS and TTL Cookbooks are full of tricks that you might use once in a lifetime to save a package, but very light on practical design techniques that you would use routinely.  The Cheap Video series takes you about 80% of the way to a working design, then says "Your Turn" to resolve the design problems that Don didn't want to deal with, or didn't discuss in order to preserve his kit sales.

I've never met Don in person, but I've talked to him on the phone a few times, and found the experience about as surreal and entertaining as you would imagine.  I'd love to hang out with him, but I sure wouldn't want to have to do business with him!

*I vividly remember being teased for carrying a "Cookbook" to class.  Wow, I went to school with some idiots.
In Vacuo Veritas:

--- Quote from: edavid on November 08, 2018, 06:15:55 pm ---When I read Don's books back in high school*, I was blown away and definitely thought he was the ultimate electronics guru.

Recently I reread some of them, and wasn't so impressed.  The CMOS and TTL Cookbooks are full of tricks that you might use once in a lifetime to save a package, but very light on practical design techniques that you would use routinely.  The Cheap Video series takes you about 80% of the way to a working design, then says "Your Turn" to resolve the design problems that Don didn't want to deal with, or didn't discuss in order to preserve his kit sales.

I've never met Don in person, but I've talked to him on the phone a few times, and found the experience about as surreal and entertaining as you would imagine.  I'd love to hang out with him, but I sure wouldn't want to have to do business with him!

*I vividly remember being teased for carrying a "Cookbook" to class.  Wow, I went to school with some idiots.

--- End quote ---

There you go, that's all I was saying. Reading his columns I was  :wtf: :wtf: :wtf: ???

Grandiose pronouncements, italics every third word, content-free blather, a few tricks he flogged as much as he could... and then what? He's a Kurzweil-lite.

Seems like I hurt some tough engineer's delicate feelings concerning their childhood hero...
Navigation
Message Index
Next page
Previous page
There was an error while thanking
Thanking...

Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod