The Unix Heritage Society mailing list
 help / color / Atom feed
* 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; 39+ 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] 39+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-19 14:40 [TUHS] Space Travel, was New: The Earliest UNIX Code Doug McIlroy
@ 2019-10-19 18:32 ` Abhinav Rajagopalan
  2019-10-19 18:44   ` Abhinav Rajagopalan
                     ` (2 more replies)
  0 siblings, 3 replies; 39+ 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] 39+ 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 20:12   ` [TUHS] How to do differential/integral on a PDP-7, was: Space Travel Michael Kjörling
  2 siblings, 0 replies; 39+ 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] 39+ 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
  2019-10-19 20:12   ` [TUHS] How to do differential/integral on a PDP-7, was: Space Travel Michael Kjörling
  2 siblings, 1 reply; 39+ 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] 39+ 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 19:55       ` [TUHS] Space Travel related question Thomas Paulsen
  2019-10-19 20:24       ` [TUHS] Space Travel, was New: The Earliest UNIX Code Arthur Krewat
  0 siblings, 2 replies; 39+ 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] 39+ messages in thread

* [TUHS] Space Travel related question
  2019-10-19 19:50     ` Henry Bent
@ 2019-10-19 19:55       ` Thomas Paulsen
  2019-10-19 20:19         ` Warner Losh
  2019-10-19 20:24       ` [TUHS] Space Travel, was New: The Earliest UNIX Code Arthur Krewat
  1 sibling, 1 reply; 39+ messages in thread
From: Thomas Paulsen @ 2019-10-19 19:55 UTC (permalink / raw)
  To: tuhs

s there a authentic space travel release available in C for Linux?



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

* Re: [TUHS] How to do differential/integral on a PDP-7, was: Space Travel
  2019-10-19 18:32 ` Abhinav Rajagopalan
  2019-10-19 18:44   ` Abhinav Rajagopalan
  2019-10-19 19:19   ` Clem Cole
@ 2019-10-19 20:12   ` Michael Kjörling
  2019-10-19 20:40     ` Arthur Krewat
  2019-10-21  4:55     ` Dave Horsfall
  2 siblings, 2 replies; 39+ messages in thread
From: Michael Kjörling @ 2019-10-19 20:12 UTC (permalink / raw)
  To: tuhs

On 20 Oct 2019 00:02 +0530, from abhinavrajagopalan@gmail.com (Abhinav Rajagopalan):
> 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.

As long as you have the basic instructions (which pretty much any
computer capable of doing useful arithemtic calculations will need
anyway), you can implement the rest of what you need using those
building blocks. Specific _hardware_ support for floating point
calculations is not needed.

If nothing else, you can always implement your own routines to do
fixed-point multi-word arithmetic. Really about all you need for that
is the basic arithmetic and binary operations, the concept of a carry
or overflow flag, and conditional and unconditional jumps. With the
_possible_ exception of a carry flag of some kind, a digital computer
really wouldn't be very useful without those!

From there to emulating floating-point instead is not a huge leap.

Given that, the kind of equations you can use the computer to solve is
just a matter of how fast you need to have the answers.

Emulation might be slow, and implementing your own might not be pretty
by today's standards where we're taught to rely on standard libraries,
but it definitely can get the job done.

If you want an example that might perhaps be easier to relate to, on
the IBM PC, it wasn't until the Pentium that you could actually count
on having a floating-point unit available. The 8086/8088, 80186,
80286, 80386 and 80486 all either didn't ever include a FPU on-die, or
only some variants included a FPU. (In the IBM PC world, that's pretty
much from 1981 to the late 1990s.) On some systems, and with some of
those CPUs, a FPU was an extra chip the user would install, or have
someone install, on the motherboard; with others, the user could
choose to purchase variants with or without a FPU. As a result, for
the better part of two decades, PC software that needed the ability to
do floating-point calculations but couldn't require a separate
hardware FPU shipped with support for emulating floating point in
software. Again, the emulation was slower, but it got the job done,
and it allowed running the software on a huge portion of the hardware
base which otherwise wouldn't have been able to do so.

-- 
Michael Kjörling • https://michael.kjorling.se • michael@kjorling.se
  “The most dangerous thought that you can have as a creative person
              is to think you know what you’re doing.” (Bret Victor)


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

* Re: [TUHS] Space Travel related question
  2019-10-19 19:55       ` [TUHS] Space Travel related question Thomas Paulsen
@ 2019-10-19 20:19         ` Warner Losh
  0 siblings, 0 replies; 39+ messages in thread
From: Warner Losh @ 2019-10-19 20:19 UTC (permalink / raw)
  To: Thomas Paulsen; +Cc: The Eunuchs Hysterical Society

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

On Sat, Oct 19, 2019, 1:56 PM Thomas Paulsen <thomas.paulsen@firemail.de>
wrote:

> s there a authentic space travel release available in C for Linux?
>

Nope

>

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

<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Oct 19, 2019, 1:56 PM Thomas Paulsen &lt;<a href="mailto:thomas.paulsen@firemail.de">thomas.paulsen@firemail.de</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">s there a authentic space travel release available in C for Linux?<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Nope</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] 39+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
  2019-10-19 19:50     ` Henry Bent
  2019-10-19 19:55       ` [TUHS] Space Travel related question Thomas Paulsen
@ 2019-10-19 20:24       ` Arthur Krewat
  1 sibling, 0 replies; 39+ 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] 39+ messages in thread

* Re: [TUHS] How to do differential/integral on a PDP-7, was: Space Travel
  2019-10-19 20:12   ` [TUHS] How to do differential/integral on a PDP-7, was: Space Travel Michael Kjörling
@ 2019-10-19 20:40     ` Arthur Krewat
  2019-10-19 21:15       ` Michael Kjörling
  2019-10-21  5:14       ` Dave Horsfall
  2019-10-21  4:55     ` Dave Horsfall
  1 sibling, 2 replies; 39+ messages in thread
From: Arthur Krewat @ 2019-10-19 20:40 UTC (permalink / raw)
  To: tuhs

On 10/19/2019 4:12 PM, Michael Kjörling wrote:
> As long as you have the basic instructions (which pretty much any
> computer capable of doing useful arithemtic calculations will need
> anyway), you can implement the rest of what you need using those
> building blocks. Specific_hardware_  support for floating point
> calculations is not needed.

Not to mention, if you start using log/alog tables, and/or sin/cos/tan 
tables, and interpolation, you can quickly ramp up computation speed for 
simple games that have a small matrix of coordinates. Something like 
EMPIRE becomes quite easy.

Imagine my distress when, after cutting my teeth on a PDP-10, that 
working on a 6502 I had to do my own division. Oh, the HORROR!

art k.


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

* Re: [TUHS] How to do differential/integral on a PDP-7, was: Space Travel
  2019-10-19 20:40     ` Arthur Krewat
@ 2019-10-19 21:15       ` Michael Kjörling
  2019-10-21  5:14       ` Dave Horsfall
  1 sibling, 0 replies; 39+ messages in thread
From: Michael Kjörling @ 2019-10-19 21:15 UTC (permalink / raw)
  To: tuhs

On 19 Oct 2019 16:40 -0400, from krewat@kilonet.net (Arthur Krewat):
> Not to mention, if you start using log/alog tables, and/or sin/cos/tan
> tables, and interpolation, you can quickly ramp up computation speed for
> simple games that have a small matrix of coordinates.

Indeed; like I said, at some point, it becomes just a matter of how
quickly you need the answer. It's not really _difficult_ to do any of
this if you're willing to wait a while to learn the value of 1/2. It's
a little more involved if you want log10(e^pi * pi^e) _fast_.

After all, Apollo navigated to, around, and back from, the Moon, using
an on-board computer that today would barely run that thermostat that
someone mentioned. 2048 15+1-bit word RAM (3840 bytes, plus parity),
36864 15+1-bit word ROM (69120 bytes, again plus parity). It could
display three general-purpose five-digit decimal numbers, each with
sign, plus three specific-purpose two-digit decimal numbers, and was
operated using a 19-key keyboard (0-9, plus, minus, and a few function
keys). In fairness, a lot of the heavier calculations were performed
by Mission Control on the ground and the results were uplinked either
digitally or via voice transmission to the spacecraft, but still...
Those programmers didn't exactly have the luxury of, when they
realized they were running out of memory, just sending along the rest
of the software on tape and telling the user to load it on an
as-needed basis.

Premature optimization is the root of all evil in 99% of the cases,
but in that last 1%, a targeted optimization effort is exactly what
you need.

-- 
Michael Kjörling • https://michael.kjorling.se • michael@kjorling.se
  “The most dangerous thought that you can have as a creative person
              is to think you know what you’re doing.” (Bret Victor)


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

* Re: [TUHS] How to do differential/integral on a PDP-7, was: Space Travel
  2019-10-19 20:12   ` [TUHS] How to do differential/integral on a PDP-7, was: Space Travel Michael Kjörling
  2019-10-19 20:40     ` Arthur Krewat
@ 2019-10-21  4:55     ` Dave Horsfall
  2019-10-21 19:21       ` Paul Winalski
  1 sibling, 1 reply; 39+ messages in thread
From: Dave Horsfall @ 2019-10-21  4:55 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society

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

On Sat, 19 Oct 2019, Michael Kjörling wrote:

> If you want an example that might perhaps be easier to relate to, on the 
> IBM PC, it wasn't until the Pentium that you could actually count on 
> having a floating-point unit available. [...]

Am I the only one who remembers the Defectium (as we called it)?  Intel 
denied the the problem until their noses got rubbed into it, after which 
they instructed Sales to refuse replacements for any chip that failed 
after using a demo program that demonstrated said defect, claiming that it 
would hardly ever happen.

Err, would you fly on an aircraft designed by Defectiums?  Or cross a 
bridge, etc?

-- Dave

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

* Re: [TUHS] How to do differential/integral on a PDP-7, was: Space Travel
  2019-10-19 20:40     ` Arthur Krewat
  2019-10-19 21:15       ` Michael Kjörling
@ 2019-10-21  5:14       ` Dave Horsfall
  2019-10-21  5:23         ` Lars Brinkhoff
  1 sibling, 1 reply; 39+ messages in thread
From: Dave Horsfall @ 2019-10-21  5:14 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society

On Sat, 19 Oct 2019, Arthur Krewat wrote:

> Not to mention, if you start using log/alog tables, and/or sin/cos/tan 
> tables, and interpolation, you can quickly ramp up computation speed for 
> simple games that have a small matrix of coordinates. Something like 
> EMPIRE becomes quite easy.

Star Wars on a GT-40, which Andrew Hume (formerly UNSW, who is now at Bell 
last I heard) reverse-engineered to support three players, not two.

Oddly enough, DEC Field Circus stopped replacing GT-40 switch consoles
after that (certain keys were worn out)...

> Imagine my distress when, after cutting my teeth on a PDP-10, that 
> working on a 6502 I had to do my own division. Oh, the HORROR!

And you tell that to the young people of day, and they won't believe 
you...

Now, where did I put my Z-80 full ANSI C Compiler...

-- Dave

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

* Re: [TUHS] How to do differential/integral on a PDP-7, was: Space Travel
  2019-10-21  5:14       ` Dave Horsfall
@ 2019-10-21  5:23         ` Lars Brinkhoff
  2019-10-21 13:59           ` John P. Linderman
  2019-10-26  2:09           ` Dave Horsfall
  0 siblings, 2 replies; 39+ messages in thread
From: Lars Brinkhoff @ 2019-10-21  5:23 UTC (permalink / raw)
  To: Dave Horsfall; +Cc: The Eunuchs Hysterical Society

Dave Horsfall wrote:
> Star Wars on a GT-40, which Andrew Hume (formerly UNSW, who is now at
> Bell last I heard) reverse-engineered to support three players, not
> two.

Does that still exist?

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

* Re: [TUHS] How to do differential/integral on a PDP-7, was: Space Travel
  2019-10-21  5:23         ` Lars Brinkhoff
@ 2019-10-21 13:59           ` John P. Linderman
       [not found]             ` <68553366-4E6F-4E17-8903-282C67186D16@humeweb.com>
  2019-10-26  2:09           ` Dave Horsfall
  1 sibling, 1 reply; 39+ messages in thread
From: John P. Linderman @ 2019-10-21 13:59 UTC (permalink / raw)
  To: Lars Brinkhoff; +Cc: The Eunuchs Hysterical Society, Andrew Hume

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

Andrew left Bell Labs for AT&T Labs when Alcatel took over the Bell Labs
name. He is/was reachable at andrew@humeweb.com. I'm cc-ing him. He might
enjoy the goings-on here.

On Mon, Oct 21, 2019 at 1:24 AM Lars Brinkhoff <lars@nocrew.org> wrote:

> Dave Horsfall wrote:
> > Star Wars on a GT-40, which Andrew Hume (formerly UNSW, who is now at
> > Bell last I heard) reverse-engineered to support three players, not
> > two.
>
> Does that still exist?
>

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

<div dir="ltr"><div class="gmail_default" style="font-size:small">Andrew left Bell Labs for AT&amp;T Labs when Alcatel took over the Bell Labs name. He is/was reachable at <a href="mailto:andrew@humeweb.com">andrew@humeweb.com</a>. I&#39;m cc-ing him. He might enjoy the goings-on here.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Oct 21, 2019 at 1:24 AM Lars Brinkhoff &lt;<a href="mailto:lars@nocrew.org">lars@nocrew.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">Dave Horsfall wrote:<br>
&gt; Star Wars on a GT-40, which Andrew Hume (formerly UNSW, who is now at<br>
&gt; Bell last I heard) reverse-engineered to support three players, not<br>
&gt; two.<br>
<br>
Does that still exist?<br>
</blockquote></div>

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

* Re: [TUHS] How to do differential/integral on a PDP-7, was: Space Travel
  2019-10-21  4:55     ` Dave Horsfall
@ 2019-10-21 19:21       ` Paul Winalski
  2019-10-21 19:38         ` Kurt H Maier
  0 siblings, 1 reply; 39+ messages in thread
From: Paul Winalski @ 2019-10-21 19:21 UTC (permalink / raw)
  To: Dave Horsfall; +Cc: The Eunuchs Hysterical Society

On 10/21/19, Dave Horsfall <dave@horsfall.org> wrote:
>
> Am I the only one who remembers the Defectium (as we called it)?  Intel
> denied the the problem until their noses got rubbed into it, after which
> they instructed Sales to refuse replacements for any chip that failed
> after using a demo program that demonstrated said defect, claiming that it
> would hardly ever happen.

I'm sure that's become a textbook case study in classes on public
relations.  It really WAS an obscure corner case, and every CPU chip
has an errata list, but that's not the point.  Intel would have been
far better off admitting the problem and replacing the chips at the
get-go.  In the end they had to replace them anyway, and the $$$ cost
to Intel's reputation way outstripped the cost of replacing the chips.

David Letterman even did a "9.9998 reasons to buy genuine Intel"
routine.  That for me was the definitive proof that computers had gone
mainstream in society.

> Err, would you fly on an aircraft designed by Defectiums?  Or cross a
> bridge, etc?

I'm much more alarmed by the lack of memory error detection and
correction on a lot of modern computers.  This is one of my big
concerns with the use of GPUs for heavy-duty computation.  GPUs
typically don't have memory with error detection because the worst
that happens if there's a memory error in the GPU is you get a bad
pixel or two displayed.  I'd not like to cross a bridge whose design
software used CUDA.

-Paul W.

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

* Re: [TUHS] How to do differential/integral on a PDP-7, was: Space Travel
  2019-10-21 19:21       ` Paul Winalski
@ 2019-10-21 19:38         ` Kurt H Maier
  0 siblings, 0 replies; 39+ messages in thread
From: Kurt H Maier @ 2019-10-21 19:38 UTC (permalink / raw)
  To: Paul Winalski; +Cc: The Eunuchs Hysterical Society

On Mon, Oct 21, 2019 at 03:21:34PM -0400, Paul Winalski wrote:
>
> I'm much more alarmed by the lack of memory error detection and
> correction on a lot of modern computers.  This is one of my big
> concerns with the use of GPUs for heavy-duty computation.  GPUs
> typically don't have memory with error detection because the worst
> that happens if there's a memory error in the GPU is you get a bad
> pixel or two displayed.  I'd not like to cross a bridge whose design
> software used CUDA.
>
       
This might be true of gaming cards and low-end workstation cards, but   
the higher-end Quadro cards and all the dedicated GPGPUs have had at    
least ECC since at least the Maxwell era.  Of course, nobody does a     
single run and stamps the drawings, so the process itself should catch  
these problems, but any correctly-configured CAD workstation or compute
cluster has error-correcting memory, both on the system and in the
accelerators.  AMD's Radeon Pro and Intel's Xeon Phi accelerators do
ECC as well.

khm

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

* Re: [TUHS] How to do differential/integral on a PDP-7, was: Space Travel
  2019-10-21  5:23         ` Lars Brinkhoff
  2019-10-21 13:59           ` John P. Linderman
@ 2019-10-26  2:09           ` Dave Horsfall
  1 sibling, 0 replies; 39+ messages in thread
From: Dave Horsfall @ 2019-10-26  2:09 UTC (permalink / raw)
  To: The Eunuchs Hysterical Society

On Mon, 21 Oct 2019, Lars Brinkhoff wrote:

>> Star Wars on a GT-40, which Andrew Hume (formerly UNSW, who is now at
>> Bell last I heard) reverse-engineered to support three players, not
>> two.
>
> Does that still exist?

Most unlikely; a lot of stuff got lost from those days :-(

-- Dave

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

* Re: [TUHS] How to do differential/integral on a PDP-7, was: Space Travel
       [not found]             ` <68553366-4E6F-4E17-8903-282C67186D16@humeweb.com>
@ 2019-10-26  2:24               ` Dave Horsfall
  0 siblings, 0 replies; 39+ messages in thread
From: Dave Horsfall @ 2019-10-26  2:24 UTC (permalink / raw)
  To: Andrew Hume; +Cc: The Eunuchs Hysterical Society

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

On Mon, 21 Oct 2019, Andrew Hume wrote:

> the gt40??? oh my lord! good job i am en route to the bell labs 50th
> anniversary.
> its been a long time since i heard the name “Dave Horsfall”!

Yep :-)  Although now retired, I'm still active in Unix projects.

-- Dave

^ permalink raw reply	[flat|nested] 39+ 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; 39+ 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] 39+ messages in thread

* Re: [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
  1 sibling, 0 replies; 39+ 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] 39+ messages in thread

* Re: [TUHS] Space Travel, was New: The Earliest UNIX Code
@ 2019-10-19 13:13 Doug McIlroy
  0 siblings, 0 replies; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ messages in thread

* Re: [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-18 20:19   ` SPC
  2019-10-26 15:10 ` Lars Brinkhoff
  1 sibling, 1 reply; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ messages in thread

* [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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ messages in thread

end of thread, back to index

Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-19 14:40 [TUHS] Space Travel, was New: The Earliest UNIX Code 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 19:55       ` [TUHS] Space Travel related question Thomas Paulsen
2019-10-19 20:19         ` Warner Losh
2019-10-19 20:24       ` [TUHS] Space Travel, was New: The Earliest UNIX Code Arthur Krewat
2019-10-19 20:12   ` [TUHS] How to do differential/integral on a PDP-7, was: Space Travel Michael Kjörling
2019-10-19 20:40     ` Arthur Krewat
2019-10-19 21:15       ` Michael Kjörling
2019-10-21  5:14       ` Dave Horsfall
2019-10-21  5:23         ` Lars Brinkhoff
2019-10-21 13:59           ` John P. Linderman
     [not found]             ` <68553366-4E6F-4E17-8903-282C67186D16@humeweb.com>
2019-10-26  2:24               ` Dave Horsfall
2019-10-26  2:09           ` Dave Horsfall
2019-10-21  4:55     ` Dave Horsfall
2019-10-21 19:21       ` Paul Winalski
2019-10-21 19:38         ` Kurt H Maier
  -- strict thread matches above, loose matches on Subject: below --
2019-10-19 13:13 [TUHS] Space Travel, was New: The Earliest UNIX Code Doug McIlroy
2019-10-18 11:52 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
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