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; 19+ 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] 19+ 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; 19+ 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] 19+ 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; 19+ 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] 19+ 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; 19+ 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] 19+ 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; 19+ 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] 19+ 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; 19+ 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] 19+ 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; 19+ 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] 19+ 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; 19+ 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] 19+ 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; 19+ 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] 19+ 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; 19+ 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] 19+ 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; 19+ 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] 19+ 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; 19+ 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] 19+ 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; 19+ 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] 19+ 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; 19+ 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] 19+ 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; 19+ 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] 19+ 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; 19+ 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] 19+ 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; 19+ 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] 19+ 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; 19+ 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] 19+ 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; 19+ 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] 19+ messages in thread

end of thread, back to index

Thread overview: 19+ 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

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