discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Fwd: OT - was Re: Re: Adding an undef-coalescing operator '??'

RW
Raymond West
Mon, Oct 21, 2024 2:18 PM

I've labelled this as OT -  off topic. It may or may not be of interest,
but not really connected to the original topic.

On 20/10/2024 20:34, Jordan Brown wrote:

On 10/20/2024 10:59 AM, Raymond West via Discuss wrote:

undef was not available in fortran.  We used to use -99 quite a lot
🙂, but then of course variable names could be re-used, which solved
many problems (and created a few, since variable names were
restricted to 4 characters in length. I still use i to n for loop
counters - usually j or k, maybe i or n, but never l or m for some
reason).

l (lower case ell) is bad because in many fonts it looks like I
(capital eye) or 1 (one).

We could only use capital letters.  The code was hand written with HB
pencil onto 80 column coding forms. Variable names were less than 5
characters long, and those beginning with a letter I,J,K,L,M,N were
assigned as integers. Generally, since the names could be reassigned,
for counters, such as in FOR loops, we rarely needed more than three -
I,J,K  -  L would be rarely needed. N was usually kept for the total
count. M was a bit of a job to squeeze it into the space on the coding
form. The letter I needed serifs, so quicker to write J or K.

The coding forms were read by a punch card machine operator, and punched
onto 80 column cards. the stack of cards was  then put through a
verifier, where another operator would re-type the forms. If the new
code did not match that on the card, then the card would be sorted by
the verifier machine into a separate stack for later investigation. The
output from the program was created by a line printer - basically a
bicycle chain, with characters on each link. (It was apparently possible
to generate a certain sequence of characters, to get the chain to
oscillate sufficiently that it would break.) It was printed on fanfold
green striped 14inch wide paper. If you had an error, the output and
core dump could be a stack of paper  two or three inches high.

It could take two or three days between submitting your coding forms and
getting the output, and now we complain if rendering takes more than a
minute or two...

I've labelled this as OT -  off topic. It may or may not be of interest, but not really connected to the original topic. On 20/10/2024 20:34, Jordan Brown wrote: > On 10/20/2024 10:59 AM, Raymond West via Discuss wrote: >> >> undef was not available in fortran.  We used to use -99 quite a lot >> 🙂, but then of course variable names could be re-used, which solved >> many problems (and created a few, since variable names were >> restricted to 4 characters in length. I still use i to n for loop >> counters - usually j or k, maybe i or n, but never l or m for some >> reason). >> > > l (lower case ell) is bad because in many fonts it looks like I > (capital eye) or 1 (one). > We could only use capital letters.  The code was hand written with HB pencil onto 80 column coding forms. Variable names were less than 5 characters long, and those beginning with a letter I,J,K,L,M,N were assigned as integers. Generally, since the names could be reassigned, for counters, such as in FOR loops, we rarely needed more than three - I,J,K  -  L would be rarely needed. N was usually kept for the total count. M was a bit of a job to squeeze it into the space on the coding form. The letter I needed serifs, so quicker to write J or K. The coding forms were read by a punch card machine operator, and punched onto 80 column cards. the stack of cards was  then put through a verifier, where another operator would re-type the forms. If the new code did not match that on the card, then the card would be sorted by the verifier machine into a separate stack for later investigation. The output from the program was created by a line printer - basically a bicycle chain, with characters on each link. (It was apparently possible to generate a certain sequence of characters, to get the chain to oscillate sufficiently that it would break.) It was printed on fanfold green striped 14inch wide paper. If you had an error, the output and core dump could be a stack of paper  two or three inches high. It could take two or three days between submitting your coding forms and getting the output, and now we complain if rendering takes more than a minute or two...
JB
Jon Bondy
Mon, Oct 21, 2024 2:34 PM

The good old days.  I started there, too.  Punched cards and Fortran. 
My college had a 360/44.  Filled a room.

On 10/21/2024 10:18 AM, Raymond West via Discuss wrote:

I've labelled this as OT -  off topic. It may or may not be of
interest, but not really connected to the original topic.

On 20/10/2024 20:34, Jordan Brown wrote:

On 10/20/2024 10:59 AM, Raymond West via Discuss wrote:

undef was not available in fortran.  We used to use -99 quite a lot
🙂, but then of course variable names could be re-used, which solved
many problems (and created a few, since variable names were
restricted to 4 characters in length. I still use i to n for loop
counters - usually j or k, maybe i or n, but never l or m for some
reason).

l (lower case ell) is bad because in many fonts it looks like I
(capital eye) or 1 (one).

We could only use capital letters.  The code was hand written with HB
pencil onto 80 column coding forms. Variable names were less than 5
characters long, and those beginning with a letter I,J,K,L,M,N were
assigned as integers. Generally, since the names could be reassigned,
for counters, such as in FOR loops, we rarely needed more than three -
I,J,K  -  L would be rarely needed. N was usually kept for the total
count. M was a bit of a job to squeeze it into the space on the coding
form. The letter I needed serifs, so quicker to write J or K.

The coding forms were read by a punch card machine operator, and
punched onto 80 column cards. the stack of cards was  then put through
a verifier, where another operator would re-type the forms. If the new
code did not match that on the card, then the card would be sorted by
the verifier machine into a separate stack for later investigation.
The output from the program was created by a line printer - basically
a bicycle chain, with characters on each link. (It was apparently
possible to generate a certain sequence of characters, to get the
chain to oscillate sufficiently that it would break.) It was printed
on fanfold green striped 14inch wide paper. If you had an error, the
output and core dump could be a stack of paper  two or three inches high.

It could take two or three days between submitting your coding forms
and getting the output, and now we complain if rendering takes more
than a minute or two...


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

--
This email has been checked for viruses by AVG antivirus software.
www.avg.com

The good old days.  I started there, too.  Punched cards and Fortran.  My college had a 360/44.  Filled a room. On 10/21/2024 10:18 AM, Raymond West via Discuss wrote: > I've labelled this as OT -  off topic. It may or may not be of > interest, but not really connected to the original topic. > > On 20/10/2024 20:34, Jordan Brown wrote: >> On 10/20/2024 10:59 AM, Raymond West via Discuss wrote: >>> >>> undef was not available in fortran.  We used to use -99 quite a lot >>> 🙂, but then of course variable names could be re-used, which solved >>> many problems (and created a few, since variable names were >>> restricted to 4 characters in length. I still use i to n for loop >>> counters - usually j or k, maybe i or n, but never l or m for some >>> reason). >>> >> >> l (lower case ell) is bad because in many fonts it looks like I >> (capital eye) or 1 (one). >> > We could only use capital letters.  The code was hand written with HB > pencil onto 80 column coding forms. Variable names were less than 5 > characters long, and those beginning with a letter I,J,K,L,M,N were > assigned as integers. Generally, since the names could be reassigned, > for counters, such as in FOR loops, we rarely needed more than three - > I,J,K  -  L would be rarely needed. N was usually kept for the total > count. M was a bit of a job to squeeze it into the space on the coding > form. The letter I needed serifs, so quicker to write J or K. > > The coding forms were read by a punch card machine operator, and > punched onto 80 column cards. the stack of cards was  then put through > a verifier, where another operator would re-type the forms. If the new > code did not match that on the card, then the card would be sorted by > the verifier machine into a separate stack for later investigation. > The output from the program was created by a line printer - basically > a bicycle chain, with characters on each link. (It was apparently > possible to generate a certain sequence of characters, to get the > chain to oscillate sufficiently that it would break.) It was printed > on fanfold green striped 14inch wide paper. If you had an error, the > output and core dump could be a stack of paper  two or three inches high. > > It could take two or three days between submitting your coding forms > and getting the output, and now we complain if rendering takes more > than a minute or two... > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org -- This email has been checked for viruses by AVG antivirus software. www.avg.com
NH
nop head
Mon, Oct 21, 2024 2:47 PM

Yes at Manchester university in 1981 we wrote fortran on coding forms and
got them punched onto cards and got 14in fan fold paper back. A friend got
an error listing that was many times longer than his program.

We also did lab experiments on core store elements despite having built my
own computer with DRAMs before I went there.

On Mon, 21 Oct 2024 at 15:35, Jon Bondy via Discuss <
discuss@lists.openscad.org> wrote:

The good old days.  I started there, too.  Punched cards and Fortran.
My college had a 360/44.  Filled a room.

On 10/21/2024 10:18 AM, Raymond West via Discuss wrote:

I've labelled this as OT -  off topic. It may or may not be of
interest, but not really connected to the original topic.

On 20/10/2024 20:34, Jordan Brown wrote:

On 10/20/2024 10:59 AM, Raymond West via Discuss wrote:

undef was not available in fortran.  We used to use -99 quite a lot
🙂, but then of course variable names could be re-used, which solved
many problems (and created a few, since variable names were
restricted to 4 characters in length. I still use i to n for loop
counters - usually j or k, maybe i or n, but never l or m for some
reason).

l (lower case ell) is bad because in many fonts it looks like I
(capital eye) or 1 (one).

We could only use capital letters.  The code was hand written with HB
pencil onto 80 column coding forms. Variable names were less than 5
characters long, and those beginning with a letter I,J,K,L,M,N were
assigned as integers. Generally, since the names could be reassigned,
for counters, such as in FOR loops, we rarely needed more than three -
I,J,K  -  L would be rarely needed. N was usually kept for the total
count. M was a bit of a job to squeeze it into the space on the coding
form. The letter I needed serifs, so quicker to write J or K.

The coding forms were read by a punch card machine operator, and
punched onto 80 column cards. the stack of cards was  then put through
a verifier, where another operator would re-type the forms. If the new
code did not match that on the card, then the card would be sorted by
the verifier machine into a separate stack for later investigation.
The output from the program was created by a line printer - basically
a bicycle chain, with characters on each link. (It was apparently
possible to generate a certain sequence of characters, to get the
chain to oscillate sufficiently that it would break.) It was printed
on fanfold green striped 14inch wide paper. If you had an error, the
output and core dump could be a stack of paper  two or three inches high.

It could take two or three days between submitting your coding forms
and getting the output, and now we complain if rendering takes more
than a minute or two...


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

--
This email has been checked for viruses by AVG antivirus software.
www.avg.com


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Yes at Manchester university in 1981 we wrote fortran on coding forms and got them punched onto cards and got 14in fan fold paper back. A friend got an error listing that was many times longer than his program. We also did lab experiments on core store elements despite having built my own computer with DRAMs before I went there. On Mon, 21 Oct 2024 at 15:35, Jon Bondy via Discuss < discuss@lists.openscad.org> wrote: > The good old days. I started there, too. Punched cards and Fortran. > My college had a 360/44. Filled a room. > > On 10/21/2024 10:18 AM, Raymond West via Discuss wrote: > > I've labelled this as OT - off topic. It may or may not be of > > interest, but not really connected to the original topic. > > > > On 20/10/2024 20:34, Jordan Brown wrote: > >> On 10/20/2024 10:59 AM, Raymond West via Discuss wrote: > >>> > >>> undef was not available in fortran. We used to use -99 quite a lot > >>> 🙂, but then of course variable names could be re-used, which solved > >>> many problems (and created a few, since variable names were > >>> restricted to 4 characters in length. I still use i to n for loop > >>> counters - usually j or k, maybe i or n, but never l or m for some > >>> reason). > >>> > >> > >> l (lower case ell) is bad because in many fonts it looks like I > >> (capital eye) or 1 (one). > >> > > We could only use capital letters. The code was hand written with HB > > pencil onto 80 column coding forms. Variable names were less than 5 > > characters long, and those beginning with a letter I,J,K,L,M,N were > > assigned as integers. Generally, since the names could be reassigned, > > for counters, such as in FOR loops, we rarely needed more than three - > > I,J,K - L would be rarely needed. N was usually kept for the total > > count. M was a bit of a job to squeeze it into the space on the coding > > form. The letter I needed serifs, so quicker to write J or K. > > > > The coding forms were read by a punch card machine operator, and > > punched onto 80 column cards. the stack of cards was then put through > > a verifier, where another operator would re-type the forms. If the new > > code did not match that on the card, then the card would be sorted by > > the verifier machine into a separate stack for later investigation. > > The output from the program was created by a line printer - basically > > a bicycle chain, with characters on each link. (It was apparently > > possible to generate a certain sequence of characters, to get the > > chain to oscillate sufficiently that it would break.) It was printed > > on fanfold green striped 14inch wide paper. If you had an error, the > > output and core dump could be a stack of paper two or three inches high. > > > > It could take two or three days between submitting your coding forms > > and getting the output, and now we complain if rendering takes more > > than a minute or two... > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email to discuss-leave@lists.openscad.org > > -- > This email has been checked for viruses by AVG antivirus software. > www.avg.com > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
JB
Jon Bondy
Mon, Oct 21, 2024 3:04 PM

I still have some core memory arrays from the 50s and 60s. Historical
curiosities.

On 10/21/2024 10:47 AM, nop head via Discuss wrote:

Yes at Manchester university in 1981 we wrote fortran on coding forms
and got them punched onto cards and got 14in fan fold paper back. A
friend got an error listing that was many times longer than his program.

We also did lab experiments on core store elements despite having
built my own computer with DRAMs before I went there.

On Mon, 21 Oct 2024 at 15:35, Jon Bondy via Discuss
discuss@lists.openscad.org wrote:

 The good old days.  I started there, too.  Punched cards and Fortran.
 My college had a 360/44.  Filled a room.

 On 10/21/2024 10:18 AM, Raymond West via Discuss wrote:

I've labelled this as OT -  off topic. It may or may not be of
interest, but not really connected to the original topic.

On 20/10/2024 20:34, Jordan Brown wrote:

On 10/20/2024 10:59 AM, Raymond West via Discuss wrote:

undef was not available in fortran.  We used to use -99 quite

 a lot

🙂, but then of course variable names could be re-used, which

 solved

many problems (and created a few, since variable names were
restricted to 4 characters in length. I still use i to n for loop
counters - usually j or k, maybe i or n, but never l or m for

 some

reason).

l (lower case ell) is bad because in many fonts it looks like I
(capital eye) or 1 (one).

We could only use capital letters.  The code was hand written

 with HB

pencil onto 80 column coding forms. Variable names were less than 5
characters long, and those beginning with a letter I,J,K,L,M,N were
assigned as integers. Generally, since the names could be

 reassigned,

for counters, such as in FOR loops, we rarely needed more than

 three -

I,J,K  -  L would be rarely needed. N was usually kept for the

 total

count. M was a bit of a job to squeeze it into the space on the

 coding

form. The letter I needed serifs, so quicker to write J or K.

The coding forms were read by a punch card machine operator, and
punched onto 80 column cards. the stack of cards was then put

 through

a verifier, where another operator would re-type the forms. If

 the new

code did not match that on the card, then the card would be

 sorted by

the verifier machine into a separate stack for later investigation.
The output from the program was created by a line printer -

 basically

a bicycle chain, with characters on each link. (It was apparently
possible to generate a certain sequence of characters, to get the
chain to oscillate sufficiently that it would break.) It was

 printed

on fanfold green striped 14inch wide paper. If you had an error,

 the

output and core dump could be a stack of paper  two or three

 inches high.

It could take two or three days between submitting your coding

 forms

and getting the output, and now we complain if rendering takes more
than a minute or two...


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

 -- 
 This email has been checked for viruses by AVG antivirus software.
 www.avg.com <http://www.avg.com>
 _______________________________________________
 OpenSCAD mailing list
 To unsubscribe send an email to discuss-leave@lists.openscad.org

OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org

I still have some core memory arrays from the 50s and 60s. Historical curiosities. On 10/21/2024 10:47 AM, nop head via Discuss wrote: > Yes at Manchester university in 1981 we wrote fortran on coding forms > and got them punched onto cards and got 14in fan fold paper back. A > friend got an error listing that was many times longer than his program. > > We also did lab experiments on core store elements despite having > built my own computer with DRAMs before I went there. > > On Mon, 21 Oct 2024 at 15:35, Jon Bondy via Discuss > <discuss@lists.openscad.org> wrote: > > The good old days.  I started there, too.  Punched cards and Fortran. > My college had a 360/44.  Filled a room. > > On 10/21/2024 10:18 AM, Raymond West via Discuss wrote: > > I've labelled this as OT -  off topic. It may or may not be of > > interest, but not really connected to the original topic. > > > > On 20/10/2024 20:34, Jordan Brown wrote: > >> On 10/20/2024 10:59 AM, Raymond West via Discuss wrote: > >>> > >>> undef was not available in fortran.  We used to use -99 quite > a lot > >>> 🙂, but then of course variable names could be re-used, which > solved > >>> many problems (and created a few, since variable names were > >>> restricted to 4 characters in length. I still use i to n for loop > >>> counters - usually j or k, maybe i or n, but never l or m for > some > >>> reason). > >>> > >> > >> l (lower case ell) is bad because in many fonts it looks like I > >> (capital eye) or 1 (one). > >> > > We could only use capital letters.  The code was hand written > with HB > > pencil onto 80 column coding forms. Variable names were less than 5 > > characters long, and those beginning with a letter I,J,K,L,M,N were > > assigned as integers. Generally, since the names could be > reassigned, > > for counters, such as in FOR loops, we rarely needed more than > three - > > I,J,K  -  L would be rarely needed. N was usually kept for the > total > > count. M was a bit of a job to squeeze it into the space on the > coding > > form. The letter I needed serifs, so quicker to write J or K. > > > > The coding forms were read by a punch card machine operator, and > > punched onto 80 column cards. the stack of cards was then put > through > > a verifier, where another operator would re-type the forms. If > the new > > code did not match that on the card, then the card would be > sorted by > > the verifier machine into a separate stack for later investigation. > > The output from the program was created by a line printer - > basically > > a bicycle chain, with characters on each link. (It was apparently > > possible to generate a certain sequence of characters, to get the > > chain to oscillate sufficiently that it would break.) It was > printed > > on fanfold green striped 14inch wide paper. If you had an error, > the > > output and core dump could be a stack of paper  two or three > inches high. > > > > It could take two or three days between submitting your coding > forms > > and getting the output, and now we complain if rendering takes more > > than a minute or two... > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email to discuss-leave@lists.openscad.org > > -- > This email has been checked for viruses by AVG antivirus software. > www.avg.com <http://www.avg.com> > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email todiscuss-leave@lists.openscad.org
RW
Rogier Wolff
Mon, Oct 21, 2024 3:21 PM

On Mon, Oct 21, 2024 at 03:18:38PM +0100, Raymond West via Discuss wrote:

The output from the
program was created by a line printer - basically a bicycle chain, with
characters on each link. (It was apparently possible to generate a certain
sequence of characters, to get the chain to oscillate sufficiently that it
would break.)

Apparently the powersupply of those things WAS capable of handling
activation of all 144 solenoids at the same time. So if you printed
something like: "the chain contains letters in THIS order:
abcxyz.... " there would be quite some noise from the printer. I
wasn't there when the computer-center guys tried those pranks.  I
think the printers I got to use back then were a newer technology, but
they still printed on that green-striped paper.

The "most common" letters were available more than once on the chain
so that on average the chain would need to rotate less far before a
full line was printed.

Nowadays you'd do this in software and after finding say 36 matches,
you'd not fire any more hammers, to spare the power supply. Back then
it was probably implemented in hardware with 144 comparators that
would fire the hammer and clear the character-to-print register with the
chain-contents-rom rotating through the registers in sync with the
hardware chain.

Yes, I programmed in Fortran back then. The system was "time sharing",
i.e. in finals week about 130 students doing their papers on the one
mainframe with a humungous amount of system memory: 16 Megabytes.  (I
currently have 4000 times more memory in my personal machine) Hmmm. It
had different execution modes in the CPU, the older ones probably in
essense 16-bit. I just looked it up on wikipedia and 16Mb was the
maxed-out configuration for that machine.

Different times.

Roger.

--
** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ ** +31-15-2049110 **
**    Delftechpark 11 2628 XJ  Delft, The Netherlands.  KVK: 27239233    **
f equals m times a. When your f is steady, and your m is going down
your a** is going up.  -- Chris Hadfield about flying up the space shuttle.
**  'a' for accelleration.

On Mon, Oct 21, 2024 at 03:18:38PM +0100, Raymond West via Discuss wrote: > The output from the > program was created by a line printer - basically a bicycle chain, with > characters on each link. (It was apparently possible to generate a certain > sequence of characters, to get the chain to oscillate sufficiently that it > would break.) Apparently the powersupply of those things WAS capable of handling activation of all 144 solenoids at the same time. So if you printed something like: "the chain contains letters in THIS order: abcxyz.... " there would be quite some noise from the printer. I wasn't there when the computer-center guys tried those pranks. I think the printers I got to use back then were a newer technology, but they still printed on that green-striped paper. The "most common" letters were available more than once on the chain so that on average the chain would need to rotate less far before a full line was printed. Nowadays you'd do this in software and after finding say 36 matches, you'd not fire any more hammers, to spare the power supply. Back then it was probably implemented in hardware with 144 comparators that would fire the hammer and clear the character-to-print register with the chain-contents-rom rotating through the registers in sync with the hardware chain. Yes, I programmed in Fortran back then. The system was "time sharing", i.e. in finals week about 130 students doing their papers on the one mainframe with a humungous amount of system memory: 16 Megabytes. (I currently have 4000 times more memory in my personal machine) Hmmm. It had different execution modes in the CPU, the older ones probably in essense 16-bit. I just looked it up on wikipedia and 16Mb was the maxed-out configuration for that machine. Different times. Roger. -- ** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ ** +31-15-2049110 ** ** Delftechpark 11 2628 XJ Delft, The Netherlands. KVK: 27239233 ** f equals m times a. When your f is steady, and your m is going down your a** is going up. -- Chris Hadfield about flying up the space shuttle. ** 'a' for accelleration.