The End-of-Line Story (2004)
rfc-editor.org
rfc-editor.org
Teletype machines needed a delay to move the printing apparatus back to the beginning of a line. The two characters provided that delay.
I never used one of these; I was too young.
https://en.m.wikipedia.org/wiki/Teletype_Model_33
Edit: first google hit:
Dial-up time was very expensive, somewhere around $50/hour in today's dollars.
So we would punch our code onto a paper tape, then print it out locally to review it, and finally dial in, run the paper tape through and wait for the printout from our program, and immediately disconnect.
In theory, CR LF should have been enough at the end of a line, but we found that sometimes, especially after a long line, the next line would start printing before the paper had fully advanced.
To play it safe, we would punch CR LF RUBOUT. RUBOUT was a character with all eight holes punched in the tape, i.e. 0xFF. By convention, this code was ignored by any system that received it.
The intended use of RUBOUT was to correct an error you made when punching a tape. You would back up the tape as many characters as you got wrong, then punch that many RUBOUTs, and continue from there. Because RUBOUT had every hole punched out, it would erase any error.
And it also served to give the paper a little more time to advance when we punched CR LF RUBOUT.
Maybe our machine was in need of some oiling or adjustment. The Model 33 was designed as a light-duty machine, unlike the more rugged Models 28 and 35.
Yes. The spec for the Model 33 says that it is rated for one year of continuous operation without lubrication, three years with lubrication.
The models 14, 15, 28, and 35 were designed for a much longer life. I have some Model 14 machines coming up on a century and still working. But there is a price to be paid in maintenance and lubrication. Those machines are totally repairable - you can take them completely apart and put them back together. I've overhauled five of the older machines. There are over 600 oiling points, and you need both oil and two different greases. Nobody would tolerate an office machine today that required such maintenance.
Think about that when you look at iFixit scores.
On the one hand, this seems clever and fair. On the other hand, this is why we can't have nice things.
“Early operating system designers had to adopt some "end-of-line" convention using CR and LF; some used LF, some used CR, and some used a two-octet sequence: LF CR or CR LF.”
⇒ OSes that used CR LF didn’t have to do that translation.
I have encountered numerous issues with EOLs being changed in transit or on disk, so I always make sure to open/transfer files in "binary mode", since both Windows and Linux builds will run the same EOL-agnostic code.
[0] I expect this isn't its real name, but it's MS so that's a lost cause.