So we have all these control characters in ASCII and besides newline, horizontal tab and carriage return (on Windows) the only use for them is on terminal emulators (which I am making one!) Also as an extension, us NeoVim/Vim users have extensive use for them.
But all these control characters are 0-31, for example, newline is 10, horizontal tab is 9, carriage return is 13, etc. But DEL is aaaalll at the bottom, the last one, 127!
Here’s my theory. So, DEL is supposed to delete one row of text, it’s backspace that is supposed to just delete one character (I think backspace is 31?). So since 127 is literally 7 1s, marking it on a punch-card ‘by mistake’ would be kinda hard right? So you want have delete ruin your batch. It’s kinda like a built-in ‘Are you sure you want to delete this row of punch-card?’
Now I could be wrong. Opinions?
PS: If this is so, this kind of ‘physical sentinels’ is nothing new. According to Alan Kay, the earliest linked lists were not data structures, THEY WERE 1-TONN MAGNETIC DISKS! So basically, you had the address, and by ‘address’ I mean the physical address, a real location on planet earth, of the next magnetic disk stored on a fixed location on the previous magnetic disk. Fun huh?
Fascinating, and makes perfect sense. The only character you could viably write over every other one without conflict ist 1111111, after all.
Incredibly obvious once you think about it. Very cool though. TIL!