1. 21
  1. 5

    “Thanks to open source, nothing is obsolete.”

    1. 2

      Open-source communities do keep the world afloat.

      One of my dreams is to get my hands on a vintage punch card reader and learn how to write code for it

      1. 1

        GNU FORTRAN will sort you out, then.

        Fortran code, in old versions (e.g. F4, F66) needs formatting that respects punch card layout.

        But most languages don’t. To the computer, input from a punch card just looks like a line of text. There is nothing to “write code” for. Punch cards are why hardware terminals had 80 column screens: because cards had 80 columns, and therefore, 1 card could encode a single line of 80 characters.

        Punch cards predated terminals. Back then, computers didn’t have terminals; input came from cards, or from paper tape. There’s nothing to program, but that’s why ls displays columns and then ls -l shows it in long form: because the output was being printed on paper, by little hammers pressing letters into paper through an inked ribbon. It was slow and it was noisy.

        So, you wanted the minimum of output by default. Thus the UNIX “no news is good news” thing. No error = no output. Save time.

        Step 1: input from punched cards, output to printer. Operator console has status lights and buttons to start, stop, etc. The operate can’t type input. Nobody can.

        Step 2: bolt a keyboard onto the printer (a “terminal”, often made from a remote-controlled typewriter: a “tele-type” or “terminal teletype”, abbreviated TTY). Operator console remains, but users can type directly into the computer, and receive feedback immediately. But it’s way too slow to type a program in that way, so you can still input programs from decks of cards.

        That’s why Linux terminals are /etc/tty0 and so on.

        IBM mainframes struggled with this; they were too oriented. MIT had a big project to make an interactive computer: Project Mac.

        To catch up, IBM designed a system where 1 master OS ran lots of smaller OSes, 1 per user, and you could interact with the second-level instances. This was the first hypervisor and that is where the idea of Virtual Machines (VMs) came from.

        Step 3: replace the printer part of the TTY with a CRT monitor: a “glass TTY”. This is the terminal that took off in the 1970s, in the era of minicomputers and the first microcomputers.

        That’s why to interact with the Linux shell on a machine with a graphical desktop, you open a “terminal emulator”. It’s a program that pretends to be a glass terminal. And it usually opens up at 80 columns wide, and 25 lines long: that was the size of several early glass TTYs. And they were that wide because that’s the width of a punched card.

        Disclaimer This stuff is before even my time, and I am doing a lot of sweeping generalizations and simplifications here. I think that the main gist is correct, though.

        You can’t program a punched-card reader any more than you can program a keyboard. You put cards in. It reads them. The text on them is “typed” into the computer.

      2. 1

        I should have added a disclaimer that I was one of the interviewees.