The Unix Heritage Society mailing list
 help / color / Atom feed
* [TUHS] Space Travel, was New: The Earliest UNIX Code
@ 2019-10-18 11:52 Doug McIlroy
  2019-10-18 18:36 ` Steffen Nurpmeso
  2019-10-26 15:10 ` Lars Brinkhoff
  0 siblings, 2 replies; 26+ messages in thread
From: Doug McIlroy @ 2019-10-18 11:52 UTC (permalink / raw)
  To: tuhs

> 10-36-55.pdf    user-mode programs: pool game

This game, written by ken, used the Graphic 2. One of its
earliest tests--random starting positions and velocities on
a frictionless table with no collision detection--produced
a mesmerizing result. This was saved in a program called
"weird1", which was carried across to the PDP11.

Weird1 was a spectacular accidental demonstration of structure
in pseudo-random numbers. After several minutes the dots
representing pool balls would evanescently form short local
alignments.  Thereafter from time to time ever-larger alignments
would materialize. Finally in a grand climax all the balls
converged to a single point.

It was stunning to watch perfect order emerge from apparent
chaos.  One of my fondest hopes is to see weird1 revived.

Doug

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-18 11:52 [TUHS] Space Travel, was New: The Earliest UNIX Code Doug McIlroy
@ 2019-10-18 18:36 ` Steffen Nurpmeso
  2019-10-18 20:19   ` SPC
  2019-10-26 15:10 ` Lars Brinkhoff
  1 sibling, 1 reply; 26+ messages in thread
From: Steffen Nurpmeso @ 2019-10-18 18:36 UTC (permalink / raw)
  To: tuhs

[-- Attachment #1: Type: text/plain, Size: 2011 bytes --]

Doug McIlroy wrote in <201910181152.x9IBq95P001809@coolidge.cs.Dartmouth\
.EDU>:
 |> 10-36-55.pdf    user-mode programs: pool game
 |
 |This game, written by ken, used the Graphic 2. One of its
 |earliest tests--random starting positions and velocities on
 |a frictionless table with no collision detection--produced
 |a mesmerizing result. This was saved in a program called
 |"weird1", which was carried across to the PDP11.
 |
 |Weird1 was a spectacular accidental demonstration of structure
 |in pseudo-random numbers. After several minutes the dots
 |representing pool balls would evanescently form short local
 |alignments.  Thereafter from time to time ever-larger alignments
 |would materialize. Finally in a grand climax all the balls
 |converged to a single point.
 |
 |It was stunning to watch perfect order emerge from apparent
 |chaos.  One of my fondest hopes is to see weird1 revived.

Not about random orders chaos, no, quite the opposite, but the
IOCCC context 2012 was won by endoh1, a fluid simulator using
"Smoothed-particle hydrodynamics (SPH)", and the "marching
squares" algorithm to render particles.  If the defaults for
gravity (1 -> 0), pressure (4 -> 1) and viscosity (8 -> 2) are
changed entertaining effects can be seen.

It is like swirling, not self-organizing order out of chaos, but
i wanted to post it nonetheless because of some properties of the
code, for example the IOCCC Makefile introduces "make love", may
also echo "You are not expected to understand this", and what else
can be expected.  The xxx.txt is an input file i made for this
post, the competition ones are neat (a fountain, for example), but
for normal gravity etc.

  $ make endoh1_color
  $ ./endoh1_color < xxx.txt

And spend some time.

 |Doug
 --End of <201910181152.x9IBq95P001809@coolidge.cs.Dartmouth.EDU>

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)

[-- Attachment #2: endoh1_color.c --]
[-- Type: text/x-csrc, Size: 2275 bytes --]

#  include<stdio.h>//  .IOCCC                                         Fluid-  #
#  include <unistd.h>  //2012                                         _Sim!_  #
#  include<complex.h>  //||||                     ,____.              ||||||  #
#  define              c y+=(                    x=ctanh(            -cabs/*  #
#  */(4[t              ]-=20)                     /2+9)*             3+3)*//  #
#  define              f(p,e)                                        for(p/*  #
#  */=a;e              ,p<r;p                                        +=5)///  #
#  define              z(e,i)                                        f(p,p/*  #
## */[i]=e)f(q,w=cabs  (d=*p-  *q)/2-     1)if(0  <(x=1-      w))p[i]+=w*/// ##
   double complex a [  97687]  ,*p,*q     ,*r=a,  w=0,d;    char b[97687]=/* ##
## */"GO\x1b[2J\x1b["  "1;1H"  ,*o=b,     *t;int  x,y,j;   void h(int e){/** ##
## */for(              t=b;b+  24045>     (t+=12  );c 6,  sprintf     (t,/** ##
## */"%c"              "[48%"  "c5;%"     "03dm"  "%c",3  *9,e,c      36,e/* ##
## */?(t-              b)%960  ?(15-t     [11])[  "\x23"  "/\\_"      "\\"/* ##
## */"||"              ",//|"  ".-`'      "]:10:  0)) y=  0020,c      01;}/* ##
## */void              g( int  i){7[t     +=i]|=  x/=2;*  t+=y=p      [2];/* ##
## */}int              main()  {for(;(    x=getc  (stdin  ))>0;)w     =10</* ##
## */x?32              <x?4[*   r++=w,r]=w+1,*r=  r[5]=x   ==35,r+=9:0,w-I/* ##
## */:(x=              w+02);    for(;;puts(o),o  =b+6){    z(p[1]*9,2)w;z/* ##
## */(G,3              )(d*(3      -p[2]-q[2])*P  +p[4]*      V-q[4]*V )/p/* ##
####                                                                       ####
###############################################################################
**###########################################################################*/

         [2];h(0       );f(p,*     p+=           p[4]+=p     [3]/10*!p
       [1]     )(t   =b+     16+   (x=         *p*     I)*   12+     960
       *(y           =*p     /2)   ,x=         0<=     x&&   79>     x&&
       0<=           y&&     23>   y?x         =16     ,g(   0),g(12),
       g(+     948   ),g     (12   ),0         :0)     ;h(   59)     ;;;
         usleep(       12321);     }return 0;}   /*IOCCC     '12     **/

[-- Attachment #3: Makefile --]
[-- Type: text/plain, Size: 4048 bytes --]

#!/usr/bin/env make
#
# 2012 makefile
#
# This work by Landon Curt Noll, Simon Cooper, and Leonid A. Broukhis
# is licensed under:
#
#	Creative Commons Attribution-ShareAlike 3.0 Unported License.
#
# See: http://creativecommons.org/licenses/by-sa/3.0/


################
# tool locations
################
#
SHELL= /bin/bash
CP= cp
CPP= cpp
GUNZIP= gunzip
LD= ld
MAKE= make
RM= rm
SED= sed
TAR= tar
TRUE= true

# Set X11_LIBDIR to the directory where the X11 library resides
#
X11_LIBDIR= /usr/X11R6/lib

# Set X11_INCLUDEDIR to the directory where the X11 include files reside
#
X11_INCDIR= /usr/X11R6/include

# Compiler warnings
#
#CWARN=
#CWARN= -Wall -W
CWARN= -Wall -W -pedantic

# compiler standard
#
#CSTD=
#CSTD= -ansi
CSTD= -std=c99

# compiler bit architecture
#
# Some entries require 32-bitness:
# ARCH= -m32
#
# Some entries require 64-bitess:
# ARCH= -m64
#
# By default we assume nothing:
#
ARCH=

# optimization
#
# Most compiles will safely use -O2.  Some can use only -O1 or -O.
# A few compilers have broken optimizers or this entry make break
# under those buggy optimizers and thus you may not want anything.
#
#OPT=
#OPT= -O
#OPT= -O1
OPT= -O2
#OPT= -O3

# Libraries needed to build
#
LIBS= -lm

# default flags for ANSI C compilation
#
CFLAGS= ${CWARN} ${CSTD} ${ARCH} ${OPT} 

# ANSI compiler
#
# Set CC to the name of your ANSI compiler.
#
# Some entries seem to need gcc.  If you have gcc, set
# both CC and MAY_NEED_GCC to gcc.
#
# If you do not have gcc, set CC to the name of your ANSI compiler, and
# set MAY_NEED_GCC to either ${CC} (and hope for the best) or to just :
# to disable such programs.
#
CC= cc
#CC=clang
MAY_NEED_GCC= gcc


##############################
# Special flags for this entry
##############################
#
ENTRY= endoh1
DATA= column.txt column2.txt column3.txt corners.txt dripping-pan.txt \
	evaporation.txt flat.txt fountain.txt funnel.txt funnel2.txt \
	funnel3.txt leidenfrost.txt logo.txt pour-out.txt tanada.txt
ALT_OBJ= endoh1_color.o
ALT_ENTRY= endoh1_color

# The factor of gravity
#
G=0

# The factor of pressure
#
P=1

# The factor of viscosity
#
V=2

#################
# build the entry
#################
#
all: ${ENTRY} ${DATA}
	@${TRUE}

${ENTRY}: ${ENTRY}.c
	${CC} ${CFLAGS} -DG=$G -DP=$P -DV=$P $< -o $@ ${LIBS}

# alternative executable
#
alt: ${ALT_ENTRY}
	@${TRUE}

endoh1_deobfuscate: endoh1_deobfuscate.c
	${CC} ${CFLAGS} -DG=$G -DP=$P -DV=$P $< -o $@ ${LIBS}

endoh1_color: endoh1_color.c
	${CC} ${CFLAGS} -DG=$G -DP=$P -DV=$P $< -o $@ ${LIBS}

# data files
#
data: ${DATA}
	@${TRUE}


###############
# utility rules
###############
#
everything: all alt

clean:
	${RM} -f ${ENTRY}.o ${ALT_OBJ}

clobber: clean
	${RM} -f ${ENTRY} ${ALT_ENTRY}

nuke: clobber
	@${TRUE}

dist_clean: nuke
	@${TRUE}

install:
	@echo "Surely you're joking Mr. Feynman!"
	@${TRUE}

# backwards compatibility
#
build: all
	@${TRUE}


##################
# 133t hacker rulz
##################
#
love:
	@echo 'not war?'
	@${TRUE}

haste:
	$(MAKE) waste
	@${TRUE}

waste:
	@echo 'waste'
	@${TRUE}

easter_egg:
	@echo you expected to mis-understand this $${RANDOM} magic
	@echo chongo '<was here>' "/\\oo/\\"
	@echo Readers shall be disallowed from not being unable to partly misunderstand this partocular final echo.

# Understand the history of "I Am the Walrus" and
# and in particular John Lennon's remarks on that
# song and you might be confused about these next
# rules in a different way. :-)
#
supernova: nuke
	@-if [ -r .code_anal ]; then \
	    ${RM} -f .code_anal_v3; \
	else \
	    echo "You are not expected to understand this"; \
	fi
	@${TRUE}

deep_magic:
	@-if [ -r .code_anal ]; then \
	    ccode_analysis --deep_magic 1c2c85c7a02c55d1add91967eca491d53c101dc1 --FNV1a_hash 256-bit "${ENTRY}"; \
	else \
	    echo "Understand different"; \
	fi
	@${TRUE}

magic: deep_magic
	@-if [ -r .code_anal ]; then \
	    ccode_analysis --mode 21701 --level 23209 --FNV1a_hash 256-bit "${ENTRY}"; \
	else \
	    echo "These aren't the droids you're looking for Mr. Spock!"; \
	fi
	@${TRUE}

[-- Attachment #4: xxx.txt --]
[-- Type: text/plain, Size: 1844 bytes --]

                                       @                                       
###############################################################################
#           xxxxxxxxxxxxxxxxxxxxxxxxxxxx                                      #
#           xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx          #
#                                                                             #
#                                                                             #
#                                                                             #
#                                                                             #
#                           xxxxxxxxxxxxxxxxxxxxxx                            #
#                           xxxxxxxxxxxxxxxxxxxxxx                            #
#                           xxxxxxxxxxxxxxxxxxxxxx                            #
#                                                                             #
#                                                                             # 
#                                                                             #
#                                                                             #
#                                                                             #
#                                                                             #
#                                                                             #
#                                                   @@@@@@@@@@@@@@@@@@@@@@    # 
#    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@             @@@@@@@@@@@@@@@@@@@@@@@   # 
#    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@             @@@@@@@@@@@@@@@@@@@@@@@   # 
#                                                                             #
###############################################################################

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-18 18:36 ` Steffen Nurpmeso
@ 2019-10-18 20:19   ` SPC
  2019-10-18 22:04     ` Ken Thompson via TUHS
  0 siblings, 1 reply; 26+ messages in thread
From: SPC @ 2019-10-18 20:19 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 322 bytes --]

Well, It appears that CHM has published an article about "Space Travel"
code...

https://computerhistory.org/blog/the-earliest-unix-code-an-anniversary-source-code-release/


Cordiales saludos / Kind Regards.

Gracias | Regards - Saludos | Greetings | Freundliche Grüße | Salutations
-- 
*Sergio Pedraja*
--

[-- Attachment #2: Type: text/html, Size: 1784 bytes --]

<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">Well, It appears that CHM has published an article about &quot;Space Travel&quot; code...</div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small"><br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small"><a href="https://computerhistory.org/blog/the-earliest-unix-code-an-anniversary-source-code-release/" target="_blank">https://computerhistory.org/blog/the-earliest-unix-code-an-anniversary-source-code-release/</a> </div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small"> <br></div><div><div dir="ltr" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div><div style="font-size:small"><div><div><font face="times new roman, serif">Cordiales saludos / Kind Regards.</font></div><div><font face="times new roman, serif"><br></font></div><div style="font-family:arial"><font size="1"><font size="2"><span style="font-family:&quot;times new roman&quot;,serif">Gracias | Regards - </span></font></font><span style="font-family:&quot;times new roman&quot;,serif">Saludos | Greetings |</span><span lang="de" style="font-family:&quot;times new roman&quot;,serif"><span title=""> Freundliche Grüße</span></span><span style="font-family:&quot;times new roman&quot;,serif"> | Salutations</span></div><div style="font-family:arial;display:inline"></div><font face="arial">-- </font><br><div style="font-family:arial"><font size="1"><font size="2"><span style="font-family:&quot;times new roman&quot;,serif"><b><u>Sergio Pedraja</u></b><br></span></font></font>-- </div></div></div></div></div></div></div></div></div></div></div></div>

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-18 20:19   ` SPC
@ 2019-10-18 22:04     ` Ken Thompson via TUHS
  2019-10-18 23:20       ` Arthur Krewat
  2019-10-29  2:18       ` Lawrence Stewart
  0 siblings, 2 replies; 26+ messages in thread
From: Ken Thompson via TUHS @ 2019-10-18 22:04 UTC (permalink / raw)
  To: SPC; +Cc: The Eunuchs Hysterical Society

while writing "space travel,"
i could not get the space ship integration
around a planet to keep from either gaining or
losing energy due to floating point errors.
i asked dick hamming if he could help. after
a couple hours, he came back with a formula.
i tried it and it worked perfectly. it was some
weird simple double integration that self
corrected for fp round off. as near as i can
ascertain, the formula was never published
and no one i have asked (including me) has
been able to recreate it.

i look forward to the OCR of the code.

On Fri, Oct 18, 2019 at 1:20 PM SPC <spedraja@gmail.com> wrote:
>
> Well, It appears that CHM has published an article about "Space Travel" code...
>
> https://computerhistory.org/blog/the-earliest-unix-code-an-anniversary-source-code-release/
>
> Cordiales saludos / Kind Regards.
>
> Gracias | Regards - Saludos | Greetings | Freundliche Grüße | Salutations
> --
> Sergio Pedraja
> --

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-18 22:04     ` Ken Thompson via TUHS
@ 2019-10-18 23:20       ` Arthur Krewat
  2019-10-19  0:57         ` G. Branden Robinson
  2019-10-29  2:18       ` Lawrence Stewart
  1 sibling, 1 reply; 26+ messages in thread
From: Arthur Krewat @ 2019-10-18 23:20 UTC (permalink / raw)
  To: tuhs



On 10/18/2019 6:04 PM, Ken Thompson via TUHS wrote:
> while writing "space travel,"
> i could not get the space ship integration
> around a planet to keep from either gaining or
> losing energy due to floating point errors.
> i asked dick hamming if he could help. after
> a couple hours, he came back with a formula.
> i tried it and it worked perfectly. it was some
> weird simple double integration that self
> corrected for fp round off. as near as i can
> ascertain, the formula was never published
> and no one i have asked (including me) has
> been able to recreate it.
>
>
This reminds me of an experiment I performed comparing speeds of x86 
assembler, and C, when I first started working in it. The experiment was 
to generate a 3D cube wireframe, and rotate it about any (or all three) 
of it's axes, moving it X degrees at a time. Simple vector math, really. 
Included perspective, so that the back-end of the wireframe cube would 
look smaller than the front side.

I had been an assembler snob, having started in MACRO-10 on a KA10 
PDP-10 in 9th grade. I always assumed assembler would be faster for 
anything, given the right amount of optimization. The assembler side of 
the experiment, I did the CGA graphics directly. I think in the C 
version, I used the built-in library that came with it. I no longer have 
the source for the C version, but I do, for the assembler version. I 
didn't have an 8087 floating point accelerator, so I wrote my assembler 
example to use two 16-bit words of integers, combining them for a 31-bit 
integer value with sign.

Timing 1000 rotations, the assembler version took X amount of time. The 
C version took X*1.5

Now mind you, the C version used real floating point, and a software 
floating point library with no hardware accelerator. At that point, I 
realized C was the way to go. It had passed my experiment with flying 
colors. The C compiler, I believe, was from Computer Innovations, 
Copyright (c)1981,82,83,84,85

The reason this is similar to Ken's statement above: In the assembler 
version, the cube would deform quite a bit before the run would finish. 
A 31-bit integer didn't accurately reflect the result of the math. Over 
time, that slight inaccuracy really added up. The accuracy of the C 
version using floats was spot on.  So while I basically cheated for the 
assembler version, causing the deformation of the cube over time, the C 
version was 100% accurate even though it was slower.

I wonder, is there something inherently different between PDP-11/7 
floats and Intel's leading to the inaccuracy Ken mentions? Was the 
PDP-11 (or the -7) floating point that much different than IEEE-754 ?

art k.


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-18 23:20       ` Arthur Krewat
@ 2019-10-19  0:57         ` G. Branden Robinson
  2019-10-19  1:11           ` Arthur Krewat
  0 siblings, 1 reply; 26+ messages in thread
From: G. Branden Robinson @ 2019-10-19  0:57 UTC (permalink / raw)
  To: tuhs

[-- Attachment #1: Type: text/plain, Size: 2776 bytes --]

At 2019-10-18T19:20:35-0400, Arthur Krewat wrote:
> I didn't have an 8087 floating point accelerator, so I wrote my
> assembler example to use two 16-bit words of integers, combining them
> for a 31-bit integer value with sign.
> 
> Now mind you, the C version used real floating point, and a software
> floating point library with no hardware accelerator. At that point, I
> realized C was the way to go. It had passed my experiment with flying
> colors. The C compiler, I believe, was from Computer Innovations,
> Copyright (c)1981,82,83,84,85
> 
> The reason this is similar to Ken's statement above: In the assembler
> version, the cube would deform quite a bit before the run would
> finish. A 31-bit integer didn't accurately reflect the result of the
> math. Over time, that slight inaccuracy really added up. The accuracy
> of the C version using floats was spot on.  So while I basically
> cheated for the assembler version, causing the deformation of the cube
> over time, the C version was 100% accurate even though it was slower.
> 
> I wonder, is there something inherently different between PDP-11/7
> floats and Intel's leading to the inaccuracy Ken mentions? Was the
> PDP-11 (or the -7) floating point that much different than IEEE-754 ?

It sounds like it could be a simple matter of precision to me.

It takes 32 bits to store a single-precision floating point value.

Double-precision requires 64.  In IEEE 754, the significand is 53 bits
(52 bits plus the implicit leading 1).

I can never remember the C type promotion rules without looking them up,
but IIRC at least in some circumstances C promotes floats to doubles, at
least for intermediate results.  And the software floating-point library
you used could well have done the same, or perhaps it used doubles all
the way internally.  Either of these could have prevented accumulated
roundoff.

I've heard, with a level of conviction somewhere between folklore and
formal demonstration[1], that for many practical numerical problems,
single-precision is just not quite good enough, but double-precision is
ample.  Somewhere between 24 and 53 bits of significant, perhaps, there
is a sweet spot.

The wisdom I've absorbed is, if you have to do floating-point, use
doubles, unless you can clearly and convincingly articulate why you
absolutely need more precision, or can get away with less.  (For same 3D
game-rendering applications, half-precision is adequate.)

A non-quantified "single-precision will be faster" declaration should be
understood to include a lot of "!!1!11" punctuation after it, and such
people should be handled as delicately as any other Gentoo user.

Regards,
Branden

[1] Example: Ben Klemens, _21st-Century C_, O'Reilly.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-19  0:57         ` G. Branden Robinson
@ 2019-10-19  1:11           ` Arthur Krewat
  0 siblings, 0 replies; 26+ messages in thread
From: Arthur Krewat @ 2019-10-19  1:11 UTC (permalink / raw)
  To: tuhs

On 10/18/2019 8:57 PM, G. Branden Robinson wrote:
> and such people should be handled as delicately as any other Gentoo user.
You sir, win the Internet today ;)



^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-18 11:52 [TUHS] Space Travel, was New: The Earliest UNIX Code Doug McIlroy
  2019-10-18 18:36 ` Steffen Nurpmeso
@ 2019-10-26 15:10 ` Lars Brinkhoff
  1 sibling, 0 replies; 26+ messages in thread
From: Lars Brinkhoff @ 2019-10-26 15:10 UTC (permalink / raw)
  To: Doug McIlroy; +Cc: tuhs

Doug McIlroy <doug@cs.dartmouth.edu> writes:
>> 10-36-55.pdf    user-mode programs: pool game
>
> This game, written by ken, used the Graphic 2. One of its
> earliest tests--random starting positions and velocities on
> a frictionless table with no collision detection--produced
> a mesmerizing result.

This is what the pool game looks like:

https://github.com/simh/simh/issues/754#issuecomment-546611076

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-18 22:04     ` Ken Thompson via TUHS
  2019-10-18 23:20       ` Arthur Krewat
@ 2019-10-29  2:18       ` Lawrence Stewart
  1 sibling, 0 replies; 26+ messages in thread
From: Lawrence Stewart @ 2019-10-29  2:18 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society


> On 2019, Oct 18, at 6:04 PM, Ken Thompson via TUHS <tuhs@minnie.tuhs.org> wrote:
> 
> while writing "space travel,"
> i could not get the space ship integration
> around a planet to keep from either gaining or
> losing energy due to floating point errors.
> i asked dick hamming if he could help. after
> a couple hours, he came back with a formula.
> i tried it and it worked perfectly. it was some
> weird simple double integration that self
> corrected for fp round off. as near as i can
> ascertain, the formula was never published
> and no one i have asked (including me) has
> been able to recreate it.
> 
> i look forward to the OCR of the code.
> 

I think this must be a variant of “Symplectic Integration”.

My son had an internship at Mitre having something to do with orbit 
determination and I got to reading papers about it.

Symplectic integration is what you want for systems described by a Hamiltonian, 
such as orbits because the usual integrators (Euler, Runge-Kutta) don’t conserve 
the interchange between position and momentum, or something like that.

As far as I can tell, this sort of stuff started getting published in the 1980s, 
so Hamming may well have tossed it off earlier and just not written it up.

Could be a nice historical footnote for the development of orbit calculations.
Could be fun to reverse engineer the code.

-L


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-19 19:50     ` Henry Bent
@ 2019-10-19 20:24       ` Arthur Krewat
  0 siblings, 0 replies; 26+ messages in thread
From: Arthur Krewat @ 2019-10-19 20:24 UTC (permalink / raw)
  To: tuhs

On 10/19/2019 3:50 PM, Henry Bent wrote:
> The idea is to squeeze as much apparent visual performance out of a 
> system as possible, so an example might be scrolling characters across 
> the screen while a wireframe cube rotates in the background, all on a 
> Commodore VIC-20 with 4K of RAM.
You ain't lived until you try to take Impossible Mission from the 
Commodore 64, and convert it to an Atari 7800 using that Maria 
steaming-pile-of-doodoo. Talk about optimizing ;)

art k.


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-19 19:19   ` Clem Cole
@ 2019-10-19 19:50     ` Henry Bent
  2019-10-19 20:24       ` Arthur Krewat
  0 siblings, 1 reply; 26+ messages in thread
From: Henry Bent @ 2019-10-19 19:50 UTC (permalink / raw)
  To: Clem Cole; +Cc: The Eunuchs Hysterical Society, Doug McIlroy

[-- Attachment #1: Type: text/plain, Size: 4459 bytes --]

I think the astonishment is not so much that tailored specialty floating
point libraries exist, or that programmers are able to squeeze performance
out of processors using hardware floating point and/or vector units.  What
is impressive to me is that floating point was being done on processors
that had essentially no hardware support for floating point whatsoever, and
that the processors in question were running at what we would consider
infinitesimally slow speeds by the standards of what is inside my barely
modern home thermostat.

These hacks make me think of the "demoscene" folks who write programs for
early '80s home 8 bit microcomputers in assembly.  The idea is to squeeze
as much apparent visual performance out of a system as possible, so an
example might be scrolling characters across the screen while a wireframe
cube rotates in the background, all on a Commodore VIC-20 with 4K of RAM.
The idea is to start with a mathematically sound algorithm but then cut
every corner possible and account for every single timing bug and hardware
quirk.  It's a fun demonstration for two or three minutes but I imagine
that after an hour or two the numerical inaccuracies would set in, just as
described earlier in this thread.

-Henry

On Sat, 19 Oct 2019 at 15:20, Clem Cole <clemc@ccc.com> wrote:

> Abhinav -- it is still done today.   For Intel's MKL we must have a team
> of programmers that specialize in writing math at the lowest levels.  DEC,
> CDC, Cray, IBM did the same thing back in the day.   Check out:  Intel
> Math Kernel Library (*a.k.a.* MKL) <https://software.intel.com/en-us/mkl>.
>
>
> On Sat, Oct 19, 2019 at 2:34 PM Abhinav Rajagopalan <
> abhinavrajagopalan@gmail.com> wrote:
>
>> Forgive me for both hijacking this thread, and to address my amateurish
>> gnawing concern, but how was it be possible to write differential/integral
>> equations at an assembly/machine level at the time, especially in machines
>> such as the PDP-7 and such which had IIRC just 16 instructions and operated
>> on the basis of mere words, especially the floating point math being done.
>> Surmising from some personal experience that writing mathematical programs
>> is hard even now, although there exist certain functional paradigms, and
>> specialised environments such as MATLAB or Mathematica. The
>> complexity seems to remain the same if not more now, due to the vast oodles
>> of data to handle stemming from the nature of the world.
>>
>> Were they loaded as just words as any other instruction or were there
>> separate coprocessors that did the number crunching? I'm guessing
>> Fortran-ish kind of implementations were done, but the hardware level
>> computation itself I just can't process.
>>
>> It just blows my mind now thinking backwards in terms of those
>> monster machines being loaded with trails of paper tape instructions to
>> play Space Travel. Being born in the late 90's doesn't help me too.
>>
>> Also, on a related note, don't know if you've watched the interview
>> <https://youtu.be/EY6q5dv_B-o> of Ken done by Brian at the Vintage
>> Comptuer Federation 2019, there might be a few surprises lurking around the
>> middle of that when they discuss pipes and grep.
>>
>> Thank you!
>>
>> On Sat, Oct 19, 2019 at 8:11 PM Doug McIlroy <doug@cs.dartmouth.edu>
>> wrote:
>>
>>> I was about to add a footnote to history about
>>> how the broad interests and collegiality of
>>> Bell Labs staff made Space Travel work, when
>>> I saw that Ken beat me to telling how he got
>>> help from another Turing Award winner.
>>>
>>> > while writing "space travel,"
>>> > i could not get the space ship integration
>>> > around a planet to keep from either gaining or
>>> > losing energy due to floating point errors.
>>> > i asked dick hamming if he could help. after
>>> > a couple hours, he came back with a formula.
>>> > i tried it and it worked perfectly. it was some
>>> > weird simple double integration that self
>>> > corrected for fp round off. as near as i can
>>> > ascertain, the formula was never published
>>> > and no one i have asked (including me) has
>>> > been able to recreate it.
>>>
>>> If I remember correctly, the cause of Ken's
>>> difficulty was not roundoff error. It
>>> was discretization error in the integration
>>> formula--probably f(t+dt)=f(t)+f'(t)dt.
>>> Dick saw that the formula did not conserve
>>> energy and found an alternative that did.
>>>
>>
>>
>> --
>>
>> Abhinav Rajagopalan
>>
>>
>>

[-- Attachment #2: Type: text/html, Size: 6882 bytes --]

<div dir="ltr"><div>I think the astonishment is not so much that tailored specialty floating point libraries exist, or that programmers are able to squeeze performance out of processors using hardware floating point and/or vector units.  What is impressive to me is that floating point was being done on processors that had essentially no hardware support for floating point whatsoever, and that the processors in question were running at what we would consider infinitesimally slow speeds by the standards of what is inside my barely modern home thermostat.</div><div><br></div><div>These hacks make me think of the &quot;demoscene&quot; folks who write programs for early &#39;80s home 8 bit microcomputers in assembly.  The idea is to squeeze as much apparent visual performance out of a system as possible, so an example might be scrolling characters across the screen while a wireframe cube rotates in the background, all on a Commodore VIC-20 with 4K of RAM.  The idea is to start with a mathematically sound algorithm but then cut every corner possible and account for every single timing bug and hardware quirk.  It&#39;s a fun demonstration for two or three minutes but I imagine that after an hour or two the numerical inaccuracies would set in, just as described earlier in this thread.<br></div><div><br></div><div>-Henry<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 19 Oct 2019 at 15:20, Clem Cole &lt;<a href="mailto:clemc@ccc.com">clemc@ccc.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif">Abhinav -- it is still done today.   For Intel&#39;s MKL we must have a team of programmers that specialize in writing math at the lowest levels.  DEC, CDC, Cray, IBM did the same thing back in the day.   Check out:  <a href="https://software.intel.com/en-us/mkl" target="_blank">Intel Math Kernel Library (<i>a.k.a.</i> MKL)</a>.  </div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Oct 19, 2019 at 2:34 PM Abhinav Rajagopalan &lt;<a href="mailto:abhinavrajagopalan@gmail.com" target="_blank">abhinavrajagopalan@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div style="font-family:&quot;courier new&quot;,monospace;font-size:small"><div style="color:rgb(0,0,0)">Forgive me for both hijacking this thread, and to address my amateurish gnawing concern, but how was it be possible to write differential/integral equations at an assembly/machine level at the time, especially in machines such as the PDP-7 and such which had IIRC just 16 instructions and operated on the basis of mere words, especially the floating point math being done. Surmising from some personal experience that writing mathematical programs is hard even now, although there exist certain functional paradigms, and specialised environments such as MATLAB or Mathematica. The complexity seems to remain the same if not more now, due to the vast oodles of data to handle stemming from the nature of the world.</div><div style="color:rgb(0,0,0)"><br></div><div style="color:rgb(0,0,0)">Were they loaded as just words as any other instruction or were there separate coprocessors that did the number crunching? I&#39;m guessing Fortran-ish kind of implementations were done, but the hardware level computation itself I just can&#39;t process.</div><div style="color:rgb(0,0,0)"><br></div><div style="color:rgb(0,0,0)">It just blows my mind now thinking backwards in terms of those monster machines being loaded with trails of paper tape instructions to play Space Travel. Being born in the late 90&#39;s doesn&#39;t help me too.</div><div style="color:rgb(0,0,0)"><br></div><div style="color:rgb(0,0,0)">Also, on a related note, don&#39;t know if you&#39;ve watched the <a href="https://youtu.be/EY6q5dv_B-o" target="_blank">interview</a> of Ken done by Brian at the Vintage Comptuer Federation 2019, there might be a few surprises lurking around the middle of that when they discuss pipes and grep. </div><div style="color:rgb(0,0,0)"><br></div><div style="color:rgb(0,0,0)">Thank you!</div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Oct 19, 2019 at 8:11 PM Doug McIlroy &lt;<a href="mailto:doug@cs.dartmouth.edu" target="_blank">doug@cs.dartmouth.edu</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I was about to add a footnote to history about<br>
how the broad interests and collegiality of<br>
Bell Labs staff made Space Travel work, when<br>
I saw that Ken beat me to telling how he got<br>
help from another Turing Award winner.<br>
<br>
&gt; while writing &quot;space travel,&quot;<br>
&gt; i could not get the space ship integration<br>
&gt; around a planet to keep from either gaining or<br>
&gt; losing energy due to floating point errors.<br>
&gt; i asked dick hamming if he could help. after<br>
&gt; a couple hours, he came back with a formula.<br>
&gt; i tried it and it worked perfectly. it was some<br>
&gt; weird simple double integration that self<br>
&gt; corrected for fp round off. as near as i can<br>
&gt; ascertain, the formula was never published<br>
&gt; and no one i have asked (including me) has<br>
&gt; been able to recreate it.<br>
<br>
If I remember correctly, the cause of Ken&#39;s<br>
difficulty was not roundoff error. It<br>
was discretization error in the integration<br>
formula--probably f(t+dt)=f(t)+f&#39;(t)dt.<br>
Dick saw that the formula did not conserve<br>
energy and found an alternative that did.<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><span style="font-family:&quot;courier new&quot;,monospace"><br></span></div><div><span style="font-family:&quot;courier new&quot;,monospace"><span style="color:rgb(0,0,0)">Abhinav Rajagopalan</span></span></div><div><span><span style="color:rgb(68,68,68)"><br></span></span></div><div><font style="background-color:rgb(255,0,0)" face="tahoma, sans-serif" color="#666666"><br></font></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
</blockquote></div>
</blockquote></div></div>

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-19 18:32 ` Abhinav Rajagopalan
  2019-10-19 18:44   ` Abhinav Rajagopalan
@ 2019-10-19 19:19   ` Clem Cole
  2019-10-19 19:50     ` Henry Bent
  1 sibling, 1 reply; 26+ messages in thread
From: Clem Cole @ 2019-10-19 19:19 UTC (permalink / raw)
  To: Abhinav Rajagopalan; +Cc: The Eunuchs Hysterical Society, Doug McIlroy

[-- Attachment #1: Type: text/plain, Size: 3071 bytes --]

Abhinav -- it is still done today.   For Intel's MKL we must have a team of
programmers that specialize in writing math at the lowest levels.  DEC,
CDC, Cray, IBM did the same thing back in the day.   Check out:  Intel Math
Kernel Library (*a.k.a.* MKL) <https://software.intel.com/en-us/mkl>.

On Sat, Oct 19, 2019 at 2:34 PM Abhinav Rajagopalan <
abhinavrajagopalan@gmail.com> wrote:

> Forgive me for both hijacking this thread, and to address my amateurish
> gnawing concern, but how was it be possible to write differential/integral
> equations at an assembly/machine level at the time, especially in machines
> such as the PDP-7 and such which had IIRC just 16 instructions and operated
> on the basis of mere words, especially the floating point math being done.
> Surmising from some personal experience that writing mathematical programs
> is hard even now, although there exist certain functional paradigms, and
> specialised environments such as MATLAB or Mathematica. The
> complexity seems to remain the same if not more now, due to the vast oodles
> of data to handle stemming from the nature of the world.
>
> Were they loaded as just words as any other instruction or were there
> separate coprocessors that did the number crunching? I'm guessing
> Fortran-ish kind of implementations were done, but the hardware level
> computation itself I just can't process.
>
> It just blows my mind now thinking backwards in terms of those
> monster machines being loaded with trails of paper tape instructions to
> play Space Travel. Being born in the late 90's doesn't help me too.
>
> Also, on a related note, don't know if you've watched the interview
> <https://youtu.be/EY6q5dv_B-o> of Ken done by Brian at the Vintage
> Comptuer Federation 2019, there might be a few surprises lurking around the
> middle of that when they discuss pipes and grep.
>
> Thank you!
>
> On Sat, Oct 19, 2019 at 8:11 PM Doug McIlroy <doug@cs.dartmouth.edu>
> wrote:
>
>> I was about to add a footnote to history about
>> how the broad interests and collegiality of
>> Bell Labs staff made Space Travel work, when
>> I saw that Ken beat me to telling how he got
>> help from another Turing Award winner.
>>
>> > while writing "space travel,"
>> > i could not get the space ship integration
>> > around a planet to keep from either gaining or
>> > losing energy due to floating point errors.
>> > i asked dick hamming if he could help. after
>> > a couple hours, he came back with a formula.
>> > i tried it and it worked perfectly. it was some
>> > weird simple double integration that self
>> > corrected for fp round off. as near as i can
>> > ascertain, the formula was never published
>> > and no one i have asked (including me) has
>> > been able to recreate it.
>>
>> If I remember correctly, the cause of Ken's
>> difficulty was not roundoff error. It
>> was discretization error in the integration
>> formula--probably f(t+dt)=f(t)+f'(t)dt.
>> Dick saw that the formula did not conserve
>> energy and found an alternative that did.
>>
>
>
> --
>
> Abhinav Rajagopalan
>
>
>

[-- Attachment #2: Type: text/html, Size: 5505 bytes --]

<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Abhinav -- it is still done today.   For Intel&#39;s MKL we must have a team of programmers that specialize in writing math at the lowest levels.  DEC, CDC, Cray, IBM did the same thing back in the day.   Check out:  <a href="https://software.intel.com/en-us/mkl">Intel Math Kernel Library (<i>a.k.a.</i> MKL)</a>.  </div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Oct 19, 2019 at 2:34 PM Abhinav Rajagopalan &lt;<a href="mailto:abhinavrajagopalan@gmail.com">abhinavrajagopalan@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:&quot;courier new&quot;,monospace;font-size:small"><div class="gmail_default" style="color:rgb(0,0,0)">Forgive me for both hijacking this thread, and to address my amateurish gnawing concern, but how was it be possible to write differential/integral equations at an assembly/machine level at the time, especially in machines such as the PDP-7 and such which had IIRC just 16 instructions and operated on the basis of mere words, especially the floating point math being done. Surmising from some personal experience that writing mathematical programs is hard even now, although there exist certain functional paradigms, and specialised environments such as MATLAB or Mathematica. The complexity seems to remain the same if not more now, due to the vast oodles of data to handle stemming from the nature of the world.</div><div class="gmail_default" style="color:rgb(0,0,0)"><br></div><div class="gmail_default" style="color:rgb(0,0,0)">Were they loaded as just words as any other instruction or were there separate coprocessors that did the number crunching? I&#39;m guessing Fortran-ish kind of implementations were done, but the hardware level computation itself I just can&#39;t process.</div><div class="gmail_default" style="color:rgb(0,0,0)"><br></div><div class="gmail_default" style="color:rgb(0,0,0)">It just blows my mind now thinking backwards in terms of those monster machines being loaded with trails of paper tape instructions to play Space Travel. Being born in the late 90&#39;s doesn&#39;t help me too.</div><div class="gmail_default" style="color:rgb(0,0,0)"><br></div><div class="gmail_default" style="color:rgb(0,0,0)">Also, on a related note, don&#39;t know if you&#39;ve watched the <a href="https://youtu.be/EY6q5dv_B-o" target="_blank">interview</a> of Ken done by Brian at the Vintage Comptuer Federation 2019, there might be a few surprises lurking around the middle of that when they discuss pipes and grep. </div><div class="gmail_default" style="color:rgb(0,0,0)"><br></div><div class="gmail_default" style="color:rgb(0,0,0)">Thank you!</div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Oct 19, 2019 at 8:11 PM Doug McIlroy &lt;<a href="mailto:doug@cs.dartmouth.edu" target="_blank">doug@cs.dartmouth.edu</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">I was about to add a footnote to history about<br>
how the broad interests and collegiality of<br>
Bell Labs staff made Space Travel work, when<br>
I saw that Ken beat me to telling how he got<br>
help from another Turing Award winner.<br>
<br>
&gt; while writing &quot;space travel,&quot;<br>
&gt; i could not get the space ship integration<br>
&gt; around a planet to keep from either gaining or<br>
&gt; losing energy due to floating point errors.<br>
&gt; i asked dick hamming if he could help. after<br>
&gt; a couple hours, he came back with a formula.<br>
&gt; i tried it and it worked perfectly. it was some<br>
&gt; weird simple double integration that self<br>
&gt; corrected for fp round off. as near as i can<br>
&gt; ascertain, the formula was never published<br>
&gt; and no one i have asked (including me) has<br>
&gt; been able to recreate it.<br>
<br>
If I remember correctly, the cause of Ken&#39;s<br>
difficulty was not roundoff error. It<br>
was discretization error in the integration<br>
formula--probably f(t+dt)=f(t)+f&#39;(t)dt.<br>
Dick saw that the formula did not conserve<br>
energy and found an alternative that did.<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><span style="font-family:&quot;courier new&quot;,monospace"><br></span></div><div><span style="font-family:&quot;courier new&quot;,monospace"><span style="color:rgb(0,0,0)">Abhinav Rajagopalan</span></span></div><div><span><span style="color:rgb(68,68,68)"><br></span></span></div><div><font style="background-color:rgb(255,0,0)" face="tahoma, sans-serif" color="#666666"><br></font></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
</blockquote></div>

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-19 18:32 ` Abhinav Rajagopalan
@ 2019-10-19 18:44   ` Abhinav Rajagopalan
  2019-10-19 19:19   ` Clem Cole
  1 sibling, 0 replies; 26+ messages in thread
From: Abhinav Rajagopalan @ 2019-10-19 18:44 UTC (permalink / raw)
  To: Doug McIlroy; +Cc: tuhs

[-- Attachment #1: Type: text/plain, Size: 3283 bytes --]

After some poking around, a Program library (PDP-7) and a Floating point
reference manual for a PDP-8 turned up and is now slowly dawning on me that
libraries could exist back then too, and that complex polynomials could
also be written into routines albeit a bit tedious.

http://www.bitsavers.org/pdf/dec/pdp7/DIGITAL-7-30-A_FltPtPkg.pdf

http://bitsavers.trailing-edge.com/pdf/dec/pdp8/software/DEC-08-YQYB-D_PDP-8_Floating-Point_System_Programmers_Reference_Manual_Sep69.pdf

On Sun, Oct 20, 2019 at 12:02 AM Abhinav Rajagopalan <
abhinavrajagopalan@gmail.com> wrote:

> Forgive me for both hijacking this thread, and to address my amateurish
> gnawing concern, but how was it be possible to write differential/integral
> equations at an assembly/machine level at the time, especially in machines
> such as the PDP-7 and such which had IIRC just 16 instructions and operated
> on the basis of mere words, especially the floating point math being done.
> Surmising from some personal experience that writing mathematical programs
> is hard even now, although there exist certain functional paradigms, and
> specialised environments such as MATLAB or Mathematica. The
> complexity seems to remain the same if not more now, due to the vast oodles
> of data to handle stemming from the nature of the world.
>
> Were they loaded as just words as any other instruction or were there
> separate coprocessors that did the number crunching? I'm guessing
> Fortran-ish kind of implementations were done, but the hardware level
> computation itself I just can't process.
>
> It just blows my mind now thinking backwards in terms of those
> monster machines being loaded with trails of paper tape instructions to
> play Space Travel. Being born in the late 90's doesn't help me too.
>
> Also, on a related note, don't know if you've watched the interview
> <https://youtu.be/EY6q5dv_B-o> of Ken done by Brian at the Vintage
> Comptuer Federation 2019, there might be a few surprises lurking around the
> middle of that when they discuss pipes and grep.
>
> Thank you!
>
> On Sat, Oct 19, 2019 at 8:11 PM Doug McIlroy <doug@cs.dartmouth.edu>
> wrote:
>
>> I was about to add a footnote to history about
>> how the broad interests and collegiality of
>> Bell Labs staff made Space Travel work, when
>> I saw that Ken beat me to telling how he got
>> help from another Turing Award winner.
>>
>> > while writing "space travel,"
>> > i could not get the space ship integration
>> > around a planet to keep from either gaining or
>> > losing energy due to floating point errors.
>> > i asked dick hamming if he could help. after
>> > a couple hours, he came back with a formula.
>> > i tried it and it worked perfectly. it was some
>> > weird simple double integration that self
>> > corrected for fp round off. as near as i can
>> > ascertain, the formula was never published
>> > and no one i have asked (including me) has
>> > been able to recreate it.
>>
>> If I remember correctly, the cause of Ken's
>> difficulty was not roundoff error. It
>> was discretization error in the integration
>> formula--probably f(t+dt)=f(t)+f'(t)dt.
>> Dick saw that the formula did not conserve
>> energy and found an alternative that did.
>>
>
>
> --
>
> Abhinav Rajagopalan
>
>
>

-- 

Abhinav Rajagopalan

[-- Attachment #2: Type: text/html, Size: 7320 bytes --]

<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:&quot;courier new&quot;,monospace;font-size:small">After some poking around, a Program library (PDP-7) and a Floating point reference manual for a PDP-8 turned up and is now slowly dawning on me that libraries could exist back then too, and that complex polynomials could also be written into routines albeit a bit tedious. </div><div class="gmail_default" style="font-family:&quot;courier new&quot;,monospace;font-size:small"><br></div><div class="gmail_default" style="font-family:&quot;courier new&quot;,monospace;font-size:small"><a href="http://www.bitsavers.org/pdf/dec/pdp7/DIGITAL-7-30-A_FltPtPkg.pdf">http://www.bitsavers.org/pdf/dec/pdp7/DIGITAL-7-30-A_FltPtPkg.pdf</a><br></div><div class="gmail_default" style="font-family:&quot;courier new&quot;,monospace;font-size:small"><br></div><div class="gmail_default" style="font-family:&quot;courier new&quot;,monospace;font-size:small"><a href="http://bitsavers.trailing-edge.com/pdf/dec/pdp8/software/DEC-08-YQYB-D_PDP-8_Floating-Point_System_Programmers_Reference_Manual_Sep69.pdf">http://bitsavers.trailing-edge.com/pdf/dec/pdp8/software/DEC-08-YQYB-D_PDP-8_Floating-Point_System_Programmers_Reference_Manual_Sep69.pdf</a><br></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Oct 20, 2019 at 12:02 AM Abhinav Rajagopalan &lt;<a href="mailto:abhinavrajagopalan@gmail.com">abhinavrajagopalan@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:&quot;courier new&quot;,monospace;font-size:small"><div class="gmail_default" style="color:rgb(0,0,0)">Forgive me for both hijacking this thread, and to address my amateurish gnawing concern, but how was it be possible to write differential/integral equations at an assembly/machine level at the time, especially in machines such as the PDP-7 and such which had IIRC just 16 instructions and operated on the basis of mere words, especially the floating point math being done. Surmising from some personal experience that writing mathematical programs is hard even now, although there exist certain functional paradigms, and specialised environments such as MATLAB or Mathematica. The complexity seems to remain the same if not more now, due to the vast oodles of data to handle stemming from the nature of the world.</div><div class="gmail_default" style="color:rgb(0,0,0)"><br></div><div class="gmail_default" style="color:rgb(0,0,0)">Were they loaded as just words as any other instruction or were there separate coprocessors that did the number crunching? I&#39;m guessing Fortran-ish kind of implementations were done, but the hardware level computation itself I just can&#39;t process.</div><div class="gmail_default" style="color:rgb(0,0,0)"><br></div><div class="gmail_default" style="color:rgb(0,0,0)">It just blows my mind now thinking backwards in terms of those monster machines being loaded with trails of paper tape instructions to play Space Travel. Being born in the late 90&#39;s doesn&#39;t help me too.</div><div class="gmail_default" style="color:rgb(0,0,0)"><br></div><div class="gmail_default" style="color:rgb(0,0,0)">Also, on a related note, don&#39;t know if you&#39;ve watched the <a href="https://youtu.be/EY6q5dv_B-o" target="_blank">interview</a> of Ken done by Brian at the Vintage Comptuer Federation 2019, there might be a few surprises lurking around the middle of that when they discuss pipes and grep. </div><div class="gmail_default" style="color:rgb(0,0,0)"><br></div><div class="gmail_default" style="color:rgb(0,0,0)">Thank you!</div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Oct 19, 2019 at 8:11 PM Doug McIlroy &lt;<a href="mailto:doug@cs.dartmouth.edu" target="_blank">doug@cs.dartmouth.edu</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">I was about to add a footnote to history about<br>
how the broad interests and collegiality of<br>
Bell Labs staff made Space Travel work, when<br>
I saw that Ken beat me to telling how he got<br>
help from another Turing Award winner.<br>
<br>
&gt; while writing &quot;space travel,&quot;<br>
&gt; i could not get the space ship integration<br>
&gt; around a planet to keep from either gaining or<br>
&gt; losing energy due to floating point errors.<br>
&gt; i asked dick hamming if he could help. after<br>
&gt; a couple hours, he came back with a formula.<br>
&gt; i tried it and it worked perfectly. it was some<br>
&gt; weird simple double integration that self<br>
&gt; corrected for fp round off. as near as i can<br>
&gt; ascertain, the formula was never published<br>
&gt; and no one i have asked (including me) has<br>
&gt; been able to recreate it.<br>
<br>
If I remember correctly, the cause of Ken&#39;s<br>
difficulty was not roundoff error. It<br>
was discretization error in the integration<br>
formula--probably f(t+dt)=f(t)+f&#39;(t)dt.<br>
Dick saw that the formula did not conserve<br>
energy and found an alternative that did.<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><span style="font-family:&quot;courier new&quot;,monospace"><br></span></div><div><span style="font-family:&quot;courier new&quot;,monospace"><span style="color:rgb(0,0,0)">Abhinav Rajagopalan</span></span></div><div><span><span style="color:rgb(68,68,68)"><br></span></span></div><div><font style="background-color:rgb(255,0,0)" face="tahoma, sans-serif" color="#666666"><br></font></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><span style="font-family:&quot;courier new&quot;,monospace"><br></span></div><div><span style="font-family:&quot;courier new&quot;,monospace"><span style="color:rgb(0,0,0)">Abhinav Rajagopalan</span></span></div><div><span><span style="color:rgb(68,68,68)"><br></span></span></div><div><font style="background-color:rgb(255,0,0)" face="tahoma, sans-serif" color="#666666"><br></font></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-19 14:40 Doug McIlroy
@ 2019-10-19 18:32 ` Abhinav Rajagopalan
  2019-10-19 18:44   ` Abhinav Rajagopalan
  2019-10-19 19:19   ` Clem Cole
  0 siblings, 2 replies; 26+ messages in thread
From: Abhinav Rajagopalan @ 2019-10-19 18:32 UTC (permalink / raw)
  To: Doug McIlroy; +Cc: tuhs

[-- Attachment #1: Type: text/plain, Size: 2592 bytes --]

Forgive me for both hijacking this thread, and to address my amateurish
gnawing concern, but how was it be possible to write differential/integral
equations at an assembly/machine level at the time, especially in machines
such as the PDP-7 and such which had IIRC just 16 instructions and operated
on the basis of mere words, especially the floating point math being done.
Surmising from some personal experience that writing mathematical programs
is hard even now, although there exist certain functional paradigms, and
specialised environments such as MATLAB or Mathematica. The
complexity seems to remain the same if not more now, due to the vast oodles
of data to handle stemming from the nature of the world.

Were they loaded as just words as any other instruction or were there
separate coprocessors that did the number crunching? I'm guessing
Fortran-ish kind of implementations were done, but the hardware level
computation itself I just can't process.

It just blows my mind now thinking backwards in terms of those
monster machines being loaded with trails of paper tape instructions to
play Space Travel. Being born in the late 90's doesn't help me too.

Also, on a related note, don't know if you've watched the interview
<https://youtu.be/EY6q5dv_B-o> of Ken done by Brian at the Vintage Comptuer
Federation 2019, there might be a few surprises lurking around the middle
of that when they discuss pipes and grep.

Thank you!

On Sat, Oct 19, 2019 at 8:11 PM Doug McIlroy <doug@cs.dartmouth.edu> wrote:

> I was about to add a footnote to history about
> how the broad interests and collegiality of
> Bell Labs staff made Space Travel work, when
> I saw that Ken beat me to telling how he got
> help from another Turing Award winner.
>
> > while writing "space travel,"
> > i could not get the space ship integration
> > around a planet to keep from either gaining or
> > losing energy due to floating point errors.
> > i asked dick hamming if he could help. after
> > a couple hours, he came back with a formula.
> > i tried it and it worked perfectly. it was some
> > weird simple double integration that self
> > corrected for fp round off. as near as i can
> > ascertain, the formula was never published
> > and no one i have asked (including me) has
> > been able to recreate it.
>
> If I remember correctly, the cause of Ken's
> difficulty was not roundoff error. It
> was discretization error in the integration
> formula--probably f(t+dt)=f(t)+f'(t)dt.
> Dick saw that the formula did not conserve
> energy and found an alternative that did.
>


-- 

Abhinav Rajagopalan

[-- Attachment #2: Type: text/html, Size: 4652 bytes --]

<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:&quot;courier new&quot;,monospace;font-size:small"><div class="gmail_default" style="color:rgb(0,0,0)">Forgive me for both hijacking this thread, and to address my amateurish gnawing concern, but how was it be possible to write differential/integral equations at an assembly/machine level at the time, especially in machines such as the PDP-7 and such which had IIRC just 16 instructions and operated on the basis of mere words, especially the floating point math being done. Surmising from some personal experience that writing mathematical programs is hard even now, although there exist certain functional paradigms, and specialised environments such as MATLAB or Mathematica. The complexity seems to remain the same if not more now, due to the vast oodles of data to handle stemming from the nature of the world.</div><div class="gmail_default" style="color:rgb(0,0,0)"><br></div><div class="gmail_default" style="color:rgb(0,0,0)">Were they loaded as just words as any other instruction or were there separate coprocessors that did the number crunching? I&#39;m guessing Fortran-ish kind of implementations were done, but the hardware level computation itself I just can&#39;t process.</div><div class="gmail_default" style="color:rgb(0,0,0)"><br></div><div class="gmail_default" style="color:rgb(0,0,0)">It just blows my mind now thinking backwards in terms of those monster machines being loaded with trails of paper tape instructions to play Space Travel. Being born in the late 90&#39;s doesn&#39;t help me too.</div><div class="gmail_default" style="color:rgb(0,0,0)"><br></div><div class="gmail_default" style="color:rgb(0,0,0)">Also, on a related note, don&#39;t know if you&#39;ve watched the <a href="https://youtu.be/EY6q5dv_B-o">interview</a> of Ken done by Brian at the Vintage Comptuer Federation 2019, there might be a few surprises lurking around the middle of that when they discuss pipes and grep. </div><div class="gmail_default" style="color:rgb(0,0,0)"><br></div><div class="gmail_default" style="color:rgb(0,0,0)">Thank you!</div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Oct 19, 2019 at 8:11 PM Doug McIlroy &lt;<a href="mailto:doug@cs.dartmouth.edu">doug@cs.dartmouth.edu</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">I was about to add a footnote to history about<br>
how the broad interests and collegiality of<br>
Bell Labs staff made Space Travel work, when<br>
I saw that Ken beat me to telling how he got<br>
help from another Turing Award winner.<br>
<br>
&gt; while writing &quot;space travel,&quot;<br>
&gt; i could not get the space ship integration<br>
&gt; around a planet to keep from either gaining or<br>
&gt; losing energy due to floating point errors.<br>
&gt; i asked dick hamming if he could help. after<br>
&gt; a couple hours, he came back with a formula.<br>
&gt; i tried it and it worked perfectly. it was some<br>
&gt; weird simple double integration that self<br>
&gt; corrected for fp round off. as near as i can<br>
&gt; ascertain, the formula was never published<br>
&gt; and no one i have asked (including me) has<br>
&gt; been able to recreate it.<br>
<br>
If I remember correctly, the cause of Ken&#39;s<br>
difficulty was not roundoff error. It<br>
was discretization error in the integration<br>
formula--probably f(t+dt)=f(t)+f&#39;(t)dt.<br>
Dick saw that the formula did not conserve<br>
energy and found an alternative that did.<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><span style="font-family:&quot;courier new&quot;,monospace"><br></span></div><div><span style="font-family:&quot;courier new&quot;,monospace"><span style="color:rgb(0,0,0)">Abhinav Rajagopalan</span></span></div><div><span><span style="color:rgb(68,68,68)"><br></span></span></div><div><font style="background-color:rgb(255,0,0)" face="tahoma, sans-serif" color="#666666"><br></font></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
@ 2019-10-19 14:40 Doug McIlroy
  2019-10-19 18:32 ` Abhinav Rajagopalan
  0 siblings, 1 reply; 26+ messages in thread
From: Doug McIlroy @ 2019-10-19 14:40 UTC (permalink / raw)
  To: tuhs, dbrock

I was about to add a footnote to history about
how the broad interests and collegiality of
Bell Labs staff made Space Travel work, when
I saw that Ken beat me to telling how he got
help from another Turing Award winner.

> while writing "space travel,"
> i could not get the space ship integration
> around a planet to keep from either gaining or
> losing energy due to floating point errors.
> i asked dick hamming if he could help. after
> a couple hours, he came back with a formula.
> i tried it and it worked perfectly. it was some
> weird simple double integration that self
> corrected for fp round off. as near as i can
> ascertain, the formula was never published
> and no one i have asked (including me) has
> been able to recreate it.

If I remember correctly, the cause of Ken's
difficulty was not roundoff error. It
was discretization error in the integration
formula--probably f(t+dt)=f(t)+f'(t)dt.
Dick saw that the formula did not conserve
energy and found an alternative that did.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
@ 2019-10-19 13:13 Doug McIlroy
  0 siblings, 0 replies; 26+ messages in thread
From: Doug McIlroy @ 2019-10-19 13:13 UTC (permalink / raw)
  To: tuhs

Apropos of OCR on shabby typewriting, I've had good luck with doing
the OCR twice with the paper differently positioned, then using diff
to spot discrepancies. For a final proofreading, a team of two--one
reading the original aloud, the other checking the copy, works much
faster and more accurately than a single person checking side-by-side
texts.

Doug

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-18  5:59       ` Lars Brinkhoff
  2019-10-18  9:30         ` SPC
@ 2019-10-18 17:36         ` Nemo
  1 sibling, 0 replies; 26+ messages in thread
From: Nemo @ 2019-10-18 17:36 UTC (permalink / raw)
  To: The Unix Hysterical Society

On 18/10/2019, Lars Brinkhoff <lars@nocrew.org> wrote:
> Warren Toomey wrote:
>> Warner Losh wrote:
>>>> We now have the source to Space Travel, plus roff and sh, for the
>>>> PDP-7!
>>>Have these been OCR'd yet? Or just the scans?
>> No OCRs yet. Warren
>
> What is everyone's experience with source code OCR?  I have tried it a
> few times, and the resutls haven't been that good.  In my experience
> it's about as much effort as typing it manually.

Doug had an excellent comment on OCR:
https://minnie.tuhs.org/pipermail/tuhs/2019-February/017474.html

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-18  5:10     ` Lars Brinkhoff
@ 2019-10-18 13:37       ` Warner Losh
  0 siblings, 0 replies; 26+ messages in thread
From: Warner Losh @ 2019-10-18 13:37 UTC (permalink / raw)
  To: Lars Brinkhoff; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 373 bytes --]

On Thu, Oct 17, 2019, 11:10 PM Lars Brinkhoff <lars@nocrew.org> wrote:

> >> We now have the source to Space Travel
> > Is it here, and if so, which pages?
>
> Oh, the PDF is searchable.  Very nice.  Page 109.
>

Searchable means at least some ocr uas happened.

I have had at best mediocre results trying to ocr the cb unix file. Maybe
these will be different.

Warner

>

[-- Attachment #2: Type: text/html, Size: 978 bytes --]

<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 17, 2019, 11:10 PM Lars Brinkhoff &lt;<a href="mailto:lars@nocrew.org">lars@nocrew.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">&gt;&gt; We now have the source to Space Travel<br>
&gt; Is it here, and if so, which pages?<br>
<br>
Oh, the PDF is searchable.  Very nice.  Page 109.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Searchable means at least some ocr uas happened. </div><div dir="auto"><br></div><div dir="auto">I have had at best mediocre results trying to ocr the cb unix file. Maybe these will be different. </div><div dir="auto"><br></div><div dir="auto">Warner </div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div></div>

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-18  5:59       ` Lars Brinkhoff
@ 2019-10-18  9:30         ` SPC
  2019-10-18 17:36         ` Nemo
  1 sibling, 0 replies; 26+ messages in thread
From: SPC @ 2019-10-18  9:30 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 461 bytes --]

El vie., 18 oct. 2019 8:00, Lars Brinkhoff <lars@nocrew.org> escribió:

>
> What is everyone's experience with source code OCR?  I have tried it a
> few times, and the resutls haven't been that good.  In my experience
> it's about as much effort as typing it manually.
>

I use Office Lens with my móviles. Impressive results (for good) in some
moments.

Cordiales saludos / Best Regards / Salutations / Freundliche Grüße
-----
Sergio Pedraja

[-- Attachment #2: Type: text/html, Size: 1307 bytes --]

<div dir="auto"><div><div data-smartmail="gmail_signature"><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">El vie., 18 oct. 2019 8:00, Lars Brinkhoff &lt;<a href="mailto:lars@nocrew.org">lars@nocrew.org</a>&gt; escribió:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
What is everyone&#39;s experience with source code OCR?  I have tried it a<br>
few times, and the resutls haven&#39;t been that good.  In my experience<br>
it&#39;s about as much effort as typing it manually.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">I use Office Lens with my móviles. Impressive results (for good) in some moments.</div><div dir="auto"><br></div><div dir="auto"><span style="font-family:sans-serif">Cordiales saludos / Best Regards / Salutations / Freundliche Grüße</span><br style="font-family:sans-serif"><span style="font-family:sans-serif">-----</span><br style="font-family:sans-serif"><span style="font-family:sans-serif">Sergio Pedraja</span><br style="font-family:sans-serif"></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div></div>

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-17 22:51     ` Warren Toomey
@ 2019-10-18  5:59       ` Lars Brinkhoff
  2019-10-18  9:30         ` SPC
  2019-10-18 17:36         ` Nemo
  0 siblings, 2 replies; 26+ messages in thread
From: Lars Brinkhoff @ 2019-10-18  5:59 UTC (permalink / raw)
  To: Warren Toomey; +Cc: The Eunuchs Hysterical Society

Warren Toomey wrote:
> Warner Losh wrote:
>>> We now have the source to Space Travel, plus roff and sh, for the
>>> PDP-7!
>>Have these been OCR'd yet? Or just the scans?
> No OCRs yet. Warren

What is everyone's experience with source code OCR?  I have tried it a
few times, and the resutls haven't been that good.  In my experience
it's about as much effort as typing it manually.

I'm working on a GRAPHICS-2 simulation so we can run Space Travel.
Obviously I'd like a machine readable version of the program.  However,
I'm not volunteering to do all the typing myself.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-18  5:07   ` Lars Brinkhoff
@ 2019-10-18  5:10     ` Lars Brinkhoff
  2019-10-18 13:37       ` Warner Losh
  0 siblings, 1 reply; 26+ messages in thread
From: Lars Brinkhoff @ 2019-10-18  5:10 UTC (permalink / raw)
  To: Warren Toomey; +Cc: tuhs

>> We now have the source to Space Travel
> Is it here, and if so, which pages?

Oh, the PDF is searchable.  Very nice.  Page 109.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-17 20:44 ` [TUHS] Space Travel, was New: The Earliest UNIX Code Warren Toomey
  2019-10-17 22:39   ` Warner Losh
  2019-10-18  3:01   ` Warren Toomey
@ 2019-10-18  5:07   ` Lars Brinkhoff
  2019-10-18  5:10     ` Lars Brinkhoff
  2 siblings, 1 reply; 26+ messages in thread
From: Lars Brinkhoff @ 2019-10-18  5:07 UTC (permalink / raw)
  To: Warren Toomey; +Cc: tuhs

Warren Toomey wrote:
> We now have the source to Space Travel

Is it here, and if so, which pages?

https://archive.computerhistory.org/resources/access/text/2019/09/102785108-05-001-acc.pdf

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-17 20:44 ` [TUHS] Space Travel, was New: The Earliest UNIX Code Warren Toomey
  2019-10-17 22:39   ` Warner Losh
@ 2019-10-18  3:01   ` Warren Toomey
  2019-10-18  5:07   ` Lars Brinkhoff
  2 siblings, 0 replies; 26+ messages in thread
From: Warren Toomey @ 2019-10-18  3:01 UTC (permalink / raw)
  To: tuhs

On Fri, Oct 18, 2019 at 06:44:38AM +1000, Warren Toomey wrote:
> We now have the source to Space Travel, plus roff and sh, for
> the PDP-7!
> I've broken the single PDF from CHM into several sections.

A few people have asked me if the scans have been OCR'd yet. The
answer is no. Also, the input is not easily recognisable with
automated OCR technology: I've already tried. We will have to
hand transcribe the files as we did with the first half.

There is already a PDP7 Unix mailing list from the past resurrection
effort. If you'd like to join and help out with the transcribing,
please e-mail me and I'll add you to the list. The list archive is:
https://minnie.tuhs.org/pipermail/pdp7-unix/

Cheers, Warren

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-17 22:39   ` Warner Losh
@ 2019-10-17 22:51     ` Warren Toomey
  2019-10-18  5:59       ` Lars Brinkhoff
  0 siblings, 1 reply; 26+ messages in thread
From: Warren Toomey @ 2019-10-17 22:51 UTC (permalink / raw)
  To: Warner Losh; +Cc: The Eunuchs Hysterical Society

No OCRs yet. Warren

On 18 October 2019 8:39:34 am AEST, Warner Losh <imp@bsdimp.com> wrote:
>On Thu, Oct 17, 2019 at 2:45 PM Warren Toomey <wkt@tuhs.org> wrote:
>> This is the second half of the PDP-7 source
>> code "book", of which we've only had the first half from
>> Norman Wilson.
>>
>> We now have the source to Space Travel, plus roff and sh, for
>> the PDP-7!
>Have these been OCR'd yet? Or just the scans?
>
>Warner

-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-17 20:44 ` [TUHS] Space Travel, was New: The Earliest UNIX Code Warren Toomey
@ 2019-10-17 22:39   ` Warner Losh
  2019-10-17 22:51     ` Warren Toomey
  2019-10-18  3:01   ` Warren Toomey
  2019-10-18  5:07   ` Lars Brinkhoff
  2 siblings, 1 reply; 26+ messages in thread
From: Warner Losh @ 2019-10-17 22:39 UTC (permalink / raw)
  To: Warren Toomey; +Cc: The Eunuchs Hysterical Society

[-- Attachment #1: Type: text/plain, Size: 1138 bytes --]

On Thu, Oct 17, 2019 at 2:45 PM Warren Toomey <wkt@tuhs.org> wrote:

> On Thu, Oct 17, 2019 at 12:21:05PM -0700, Lyle Bickley wrote:
> > THE EARLIEST UNIX CODE: AN ANNIVERSARY SOURCE CODE RELEASE
> > http://bit.ly/31pWcvM
>
> Thanks Lyle. Yay, one of the two artifacts I've been waiting
> for has dropped. This is the second half of the PDP-7 source
> code "book", of which we've only had the first half from
> Norman Wilson.
>
> We now have the source to Space Travel, plus roff and sh, for
> the PDP-7!
>
> I've broken the single PDF from CHM into several sections and
> put them here:
>
> https://www.tuhs.org/Archive/Distributions/Research/McIlroy_v0/
>
> 09-1-35.pdf     user-mode programs: maths functions, ln, ls, moo,nm
> 10-36-55.pdf    user-mode programs: pool game
> 11-56-91.pdf    user-mode programs: pd, psych, rm, rn, roff, salv, sh
> 12-92-119.pdf   user-mode programs: space travel
> 13-120-147.pdf  user-mode programs: stat, tm, t (B interpreter?)
> 14-148-165.pdf  user-mode programs: ttt, un
>
> We may also have the B interpreter, but I'm not sure about that.
>

Have these been OCR'd yet? Or just the scans?

Warner

[-- Attachment #2: Type: text/html, Size: 1791 bytes --]

<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 17, 2019 at 2:45 PM Warren Toomey &lt;<a href="mailto:wkt@tuhs.org">wkt@tuhs.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Thu, Oct 17, 2019 at 12:21:05PM -0700, Lyle Bickley wrote:<br>
&gt; THE EARLIEST UNIX CODE: AN ANNIVERSARY SOURCE CODE RELEASE<br>
&gt; <a href="http://bit.ly/31pWcvM" rel="noreferrer" target="_blank">http://bit.ly/31pWcvM</a><br>
<br>
Thanks Lyle. Yay, one of the two artifacts I&#39;ve been waiting<br>
for has dropped. This is the second half of the PDP-7 source<br>
code &quot;book&quot;, of which we&#39;ve only had the first half from<br>
Norman Wilson.<br>
<br>
We now have the source to Space Travel, plus roff and sh, for<br>
the PDP-7!<br>
<br>
I&#39;ve broken the single PDF from CHM into several sections and<br>
put them here:<br>
<br>
<a href="https://www.tuhs.org/Archive/Distributions/Research/McIlroy_v0/" rel="noreferrer" target="_blank">https://www.tuhs.org/Archive/Distributions/Research/McIlroy_v0/</a><br>
<br>
09-1-35.pdf     user-mode programs: maths functions, ln, ls, moo,nm<br>
10-36-55.pdf    user-mode programs: pool game<br>
11-56-91.pdf    user-mode programs: pd, psych, rm, rn, roff, salv, sh<br>
12-92-119.pdf   user-mode programs: space travel<br>
13-120-147.pdf  user-mode programs: stat, tm, t (B interpreter?)<br>
14-148-165.pdf  user-mode programs: ttt, un<br>
<br>
We may also have the B interpreter, but I&#39;m not sure about that.<br></blockquote><div><br></div><div>Have these been OCR&#39;d yet? Or just the scans?</div><div><br></div><div>Warner </div></div></div>

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-17 19:21 [TUHS] New: The Earliest UNIX Code - From the Collection of the Software History Center, Computer History Museum Lyle Bickley
@ 2019-10-17 20:44 ` Warren Toomey
  2019-10-17 22:39   ` Warner Losh
                     ` (2 more replies)
  0 siblings, 3 replies; 26+ messages in thread
From: Warren Toomey @ 2019-10-17 20:44 UTC (permalink / raw)
  To: tuhs

On Thu, Oct 17, 2019 at 12:21:05PM -0700, Lyle Bickley wrote:
> THE EARLIEST UNIX CODE: AN ANNIVERSARY SOURCE CODE RELEASE
> http://bit.ly/31pWcvM

Thanks Lyle. Yay, one of the two artifacts I've been waiting
for has dropped. This is the second half of the PDP-7 source
code "book", of which we've only had the first half from
Norman Wilson.

We now have the source to Space Travel, plus roff and sh, for
the PDP-7!

I've broken the single PDF from CHM into several sections and
put them here:

https://www.tuhs.org/Archive/Distributions/Research/McIlroy_v0/

09-1-35.pdf	user-mode programs: maths functions, ln, ls, moo,nm
10-36-55.pdf	user-mode programs: pool game
11-56-91.pdf	user-mode programs: pd, psych, rm, rn, roff, salv, sh
12-92-119.pdf	user-mode programs: space travel
13-120-147.pdf	user-mode programs: stat, tm, t (B interpreter?)
14-148-165.pdf  user-mode programs: ttt, un

We may also have the B interpreter, but I'm not sure about that.

Cheers all, Warren

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, back to index

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-18 11:52 [TUHS] Space Travel, was New: The Earliest UNIX Code Doug McIlroy
2019-10-18 18:36 ` Steffen Nurpmeso
2019-10-18 20:19   ` SPC
2019-10-18 22:04     ` Ken Thompson via TUHS
2019-10-18 23:20       ` Arthur Krewat
2019-10-19  0:57         ` G. Branden Robinson
2019-10-19  1:11           ` Arthur Krewat
2019-10-29  2:18       ` Lawrence Stewart
2019-10-26 15:10 ` Lars Brinkhoff
  -- strict thread matches above, loose matches on Subject: below --
2019-10-19 14:40 Doug McIlroy
2019-10-19 18:32 ` Abhinav Rajagopalan
2019-10-19 18:44   ` Abhinav Rajagopalan
2019-10-19 19:19   ` Clem Cole
2019-10-19 19:50     ` Henry Bent
2019-10-19 20:24       ` Arthur Krewat
2019-10-19 13:13 Doug McIlroy
2019-10-17 19:21 [TUHS] New: The Earliest UNIX Code - From the Collection of the Software History Center, Computer History Museum Lyle Bickley
2019-10-17 20:44 ` [TUHS] Space Travel, was New: The Earliest UNIX Code Warren Toomey
2019-10-17 22:39   ` Warner Losh
2019-10-17 22:51     ` Warren Toomey
2019-10-18  5:59       ` Lars Brinkhoff
2019-10-18  9:30         ` SPC
2019-10-18 17:36         ` Nemo
2019-10-18  3:01   ` Warren Toomey
2019-10-18  5:07   ` Lars Brinkhoff
2019-10-18  5:10     ` Lars Brinkhoff
2019-10-18 13:37       ` Warner Losh

The Unix Heritage Society mailing list

Archives are clonable: git clone --mirror http://inbox.vuxu.org/tuhs

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://inbox.vuxu.org/vuxu.archive.tuhs


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git