1. 70

  2. 13

    It’s like kids these days never used VI from a terminal that lacked an escape key!

    1. 10

      They’ll get the opportunity with the new MacBook Pro! Maybe that was the intent all along?

      1. 1

        Why is it like that? I’ve known a bunch of special control code key combos for a long time, but I didn’t know why they were mapped that way.

        1. 1

          If you’re asking why the control characters have the codepoints they do, I’m not sure there was very much reason for it. At least in the case of ^C, I suspect the mnemonic (“cancel”) might have come before the official assignment, but I’m just guessing. There were a variety of ad-hoc practices before there was an ASCII standard, and I’m sure the committee’s main goal was to formalize them.

          I suspect that if information on the decisions of what control characters to include exists anywhere, it’s in old meeting minutes somewhere. https://en.wikipedia.org/wiki/ASCII#History has a good run-down of relevant standards bodies. This would be going back to the early 60s, so it’s a job for a professional historian, not an amateur.

          1. 1

            I meant “why do you think people who used vi without an escape key would know anything about ascii codes, rather than just knowing ^m == CR, etc.”

      2. 2

        I’d write a lengthy comment, but I’m feeling really old right now where this is some amazing discovery. </curmudgeon>

        1. 1

          Now I know what I want for my birthday … ASCII printed in 4 columns on a large poster to hang over my monitor. This shit is art.

          1. 1

            I think it’s interesting that the letters start on …0001, but the numbers start on …0000. I can see that representing 0 with a char that ends in zeros would be convenient for when you’re implementing printf - it means you just do some bit munging once you’ve split your integer into decimal place-values. But I can’t think of any particular reason to make the letters start at 1.

            1. -1