The Unfrozen Caveman Hacker Show

Now I'm just a caveman, and your modern technology upsets and frightens me, but I've noticed that it's pretty common for people to understand what it means when someone says^H^H^H^H types caret-H like that there. People here in the future seem to get what that means; it's part of the l33t language like emoticons* are, right?

But the thing that occurred to me just now is that most of you probably don't realize that that used to actually happen! I used to occasionally get mail from a n00b** that was formatted like that; it would go something like

    Those changes are totally wrong^H^H^H^H^H^H^H^H
    I'm not sure I agree with your decisions here.

Most people who understand what ^H means must have some sense that it is somehow the same as "backspace", right? Well, what would happen is, someone is typing on a dumb terminal*** that wasn't configured right, and as they typed backspace, that character would go up to the server, not be interpreted as "delete the previous character", and would be dutifully echoed back to the tty****. The tty would then itself interpret that as "delete the previous character on the screen." So the person typing thought the characters were gone, but oh no no.

It was comedy gold, I tell you.

These days I tend to <STRIKE> because it's less typing more stylish.

    [*] I used to work for the guy who invented the smiley.
    [**] We did not call them that.
    [***] A computer with a monitor, keyboard, and modem, but without the computer.
    [****] Teletype, sometimes pronounced "titty."
Tags: , , ,

78 Responses:

  1. bdu says:

    It saddens me that there are people to whom the etymology of ^H is not known.

    • icis_machine says:

      it saddens me that there is going to be a whole thread on how uber l33t you are based upon knowing how to setup your dumbterm.

      • xenogram says:

        Hah. I used to log onto BBSs using my dumb terminal, connected to my 1200 baud modem, typing the dial commands directly down the serial link. I'm so l33t.

        But at the time, I couldn't afford my own computer.

        Come to think of it, there's a bit of a theme there. I was using an IBM 8088 PC for a while; same reason, it cost me a dozen beers. That was before I got the motherboard that friend was upgrading from; it didn't fit in the case so I ran it out of a cardboard box. I could tell when it connected to a BBS because the whining noice from the exposed graphics card changed in tone when the welcome screen came up, and the motherboard sat on top of Halliday and Resnick's (sp?) "Fundamentals of Physics". But at least I could read in bed while autodialing and get up when it connected.

        All to do with being a poor student. It's much better to have ADSL and enough computrons to play OGGs.

        • king_mob says:

          and the motherboard sat on top of Halliday and Resnick's (sp?) "Fundamentals of Physics"

          That's still a standard text, incidentally. It's about two feet to my left at the moment.

    • jwz says:

      When I was getting the vt100 emulation working in the apple2 saver, I actually had to deal with the RMS braindamage of ^H being "help" by default, and also, with various things not realizing that "high bit means meta." I honestly thought I'd never have to deal with that shit again. Eventually I punted and just swapped BS and DEL and made Meta send ESC.

      • avva says:

        I knew that ^H being "help" was the product of some incredibly twisted mind hell-bent on making me pay for a whole lot of horrible crimes I never committed before I knew who RMS was.

        • jwz says:

          See, the worst part is, his moral compulsion (or whatever it was) about C-h versus DEL should have been trumped by the "stty" settings: if stty says that erase is C-h, then Emacs should have just auto-adjusted its keymap. But no.... That was actually on my list of things to do once we re-added tty support to lemacs, but Lucid imploded before I got around to it (and the current maintainers have been focused on the Profoundly Useless for the last (OMG it's been) ten years.

          Though I did make sure that C-h, C-?, BS, and DEL were all distinct in the X version (it was just about the first thing I did, actually -- up untli that point, RMSmacs under X still mapped all input to ASCII before touching it.)

  2. devpreed says:

    Since the n00bs all know what ^H is, us l33t people now have to use ^W, a la:

    Your code is utter shit^W^W^W^W^WI don't understand this code; could you please explain it to me?

    It's hard being l33t in times like these...

    • jwz says:

      Even back in the caveman days, I never used ^W for delete-word because everybody knows that ^W means kill-region. Philistine.

    • flim_flam says:

      Obviously I'm not l33t enough, despite still having a VT on my desk... my ASCII table shows ^W as dc3. wtf is that? I guessed at 'delete word' in either vi or emacs, but it actually just makes both beep (emacs more than vi, for a rare change).

      So does it produce the secret-l33t-smiley in your AIM?
      Or is it a variation on 'Press Alt-F4 to get ops in MIRC'?

      • devpreed says:

        So does it produce the secret-l33t-smiley in your AIM? Or is it a variation on 'Press Alt-F4 to get ops in MIRC'?

        Depends on which version of GTK you're using. ;-)

        They seem to think that they have to match Windows as much as possible, so in many apps, ^W will close your window instead of doing what you might expect. gaim (which I hate for other reasons) had problems deciding which it should be for five or six releases...

        And your VT terminal is now detracting from your l33tness; please to be checking it at the door.

        Thank you, come again.

        • One reason to hate Mozilla and Psi Messenger is their use of ^W for close window. I can't think of how many LJ entries and comments I've lost due to a typo. It's really frusrta
          NO CARRIER

          • jwz says:


              // use Alt instead of Ctrl for command prefix.
              user_pref("ui.key.accelKey", 18);
              user_pref("ui.key.menuAccessKey", 0);

              // Don't assume text pasted on a browser window is a URL.
              user_pref("middlemouse.contentLoadURL", false);

              // When pasting multi-line text into the url field, strip newlines
              // (for when people mail URLs and the line was wrapped.)

              user_pref("editor.singleLine.pasteNewlines", 3);

            Also, the "Shortcuts" page in the Gnome control panel has an "emacs text editing" option which gives you basic Emacs bindings in Gtk text fields.

            • devpreed says:

              Also, the "Shortcuts" page in the Gnome control panel has an "emacs text editing" option which gives you basic Emacs bindings in Gtk text fields.

              That's useless if you don't use Gnome. I had to troll the 'net and various (Gnome-using) friends' config files to find what I needed to put in .gtkrc-2.0 to get this behavior without installing Gnome (which I refuse to to).

            • ronbar says:

              Thanks for these! I don't really need the first one but the last two are very handy. Good luck untangling that mozilla history Gordian knot.

            • luserspaz says:

              // When pasting multi-line text into the url field, strip newlines
              // (for when people mail URLs and the line was wrapped.)
              user_pref("editor.singleLine.pasteNewlines", 3);

              I totally fixed this in Firefox 3. I hated having to work around pasting wrapped URLs. Actually, I did one better, in that it will strip newlines and any whitespace surrounding them when you paste into the URL bar, so if you have a URL that was wrapped-and-indented, it will still work.

              (Apologies for replying to a 5 year old thread and all.)

          • solarbird says:

            Shouldn't that be +++

            NO CARRIER

            • Quite possibly. I may understand what things like NO CARRIER and ^H mean, but that doesn't mean I've been exposed to them enough to have them welded into memory. I'm just a n00b with something of a sense of history, I guess.

              • solarbird says:

                Some BBSes in in the 80s had modems that were dumb enough that if you put that in a message, they'd disconnect the caller.

                Not that I did this repeatedly/yldeteaper/once when I was seven/neves/a BBS kiddie or anything.

                ( invoke an even-older tty strikeout system...)

          • devpreed says:

            What's really annoying is that in most versions I've used of Firebird, ^W does what you'd expect if the focus is on a text field... but if, by chance, it's not on a text field, the window gets the event and dutifully closes.


            • ronbar says:

              I just wish they'd stop fucking changing phoenix/thunderbird/firebird/firefox's name. Just call it Mozilla Light/Lite and end the pain.

    • jakenelson says:

      I only picked up ^W from context in conversation, never saw it in reality... unlike ^H, which I did... grah, you're going to send me flashing back all the way to the TRASH-80, aren't you? Curse these memories...

      • devpreed says:

        Oh, these days, "the kids" don't have to say anything that actually happened or is even correct for it to be cool.

        I never saw ^W on a terminal either, but... that's not the point.

        Just go play some Doom or hack citibank with those perl scripts you downloaded off the 'net. You'll forget all about things like credibility and... knowin' stuff.

  3. bassfingers says:

    And I recall the days when ^G would beep. Damn you, Jamie, for making me feel old!

  4. tangaroa says:

    Given that a theory behind HTML is that browsers should render tags in whatever way the programmer thinks will convey the concept of the particular tag, I'd like to see a browser display <strike/> text as text followed by the appropriate number of ^Ws and ^Hs. I've never had the gumption to look into patching one of the open-source browsers, though.

    As a semirelated aside, I personally dislike strike because it does a poor job of degrading. If the reader, for whatever reason, doesn't support strike, you end up with "that this" when in that situation you just want "this". Damned if I know how to fix it, though. There's no such thing as an off-by-default tag in XML, to my knowledge, and you can't rely on an extention in CSS when the reader doesn't support a simple tag. Still, better'n nothing.

    • quercus says:

      There's no such thing as an off-by-default tag in XML

      There are just no tags in XML. There are elements, and there are element nodes in XML-Infoset. The serialisation of XML has tags, but they don't make it into the Infoset. As what you're really working with is (or should be, for XML) at the Infoset level rather than the serialisation, then the notion of bare tags as being meaningful just doesn't work. This shift from serialisation to Infoset as being the defining factor is the real conceptual difference between XML and SGML.

      • jwz says:

        Your attempt to win the "nerdiest comment to this post" prize is transparent and doomed to fail: you are trying way too hard.

        • guttaperk says:

          No- (s)he wins, but gets no prize.

        • quercus says:

          Trying ? This is work. I'm vainly hoping that some sort of clue-by-osmosis will cross the desk opposite me. Rather than trying to beat this "don't trust the tags" notion in with a sorely-needed ClueBat, I'm goofing off on LJ.

    • aaronsw says:

      An off-by-default tag is called an attribute.

      Example: Thanks for your insightful comments.

      The only problem is that they can't, themselves, contain tags.

  5. jwm says:

    Ahh... I remember sitting at the console of a Searchlight bulletin board watching some poor fool try to type in the save and exit control combo (^Z or was it ^D? So long ago...) literally. It was a beautiful moment, like the original B1FF maneuver reenacted for my own private amusement.

  6. quercus says:

    I write a lot of SQL (day job). Pressing ^Y in the M$oft SQL Server editing tool (Query Analyser) _still_ deletes a whole line. This amuses me.

    (It's an old WordStar keystroke - think 8-bit CP/M)

    BTW - Anyone else here remember Baudot? Re-adjusting the speed governor to get a Telex 7A (not a 7B! - they were synchronous) to do RTTY baud rates ? Anyone else ever worked on digital valve or discrete transistor kit ?

    (If we're to have a pissing contest, then let's at least start with the bar nice and high)

    • solarbird says:

      mmmm Telex/xeleT/old crappy printing tty systems hooked to Univac 90/80s mmmm

      They had a tiny banner programme for the paper spool attached to the side, too. That was the best thing ev4r!!!1! (For some value of ever, anyway...)

  7. ch says:

    ah, concept lnz

  8. ladiorange says:

    I love Phil Hartman... those were the good snl years cause like everyone was on that show back in the day. I remember when the caveman ran for office.

  9. lrc says:

    Back in the reign of Queen Elizabeth, or at least sometime around 1985, I would regularly use several, entirely different keyboards at work. There was the Televideo MP/M machine, the TRS80, a PC or two, one or two dumb terminals hooked up to things like the PDP-8, or some embedded Z80, a TRS-80 Model 100 or two. Every single keyboard had backspace in a different place. However, ^H worked on every one of them. Of, course, the Control key was next to the 'A' key, like God intended, but that's another rant.

    One day, I wanted to make a party invitation, with fancy fonts and such. I"d heard Macs were good for that, so I went over to a friend's house to use his Mac.Suffice it to say that Control-H did not work.

    There is a special circle in Hell for people who gratuitously change the layout of keyboards.

  10. spike says:

    Every time I have to newly explain the dueling banjos of emacs vs. BS/DEL to someone, I find myself wondering what the total economic impact of RMS' ^H key binding decision has been.

    These days, kids can just Google for "how the heck do I make backspace work right in emacs?!?!" and they'll find some fairly informative and useful resources, including a historical note on the keybinding choices. But back in the stone-knives-and-bearskins days, you had to seek out another human being who already knew this piece of lore, and could hook you up with the right .emacs keyboard protection spell, a quest that could take hours or days. And until you got it working right, you were all but dead in the water productivity-wise.

    The sum total of all the time and energy expended by thousands of really smart people over the last N years (where N > 20) is staggering. If binding C-h to Help had been my decision, I'm not sure how I'd live with myself, knowing how much pain I'd brought into the world of my peers. Luckily (for him, not for us) Stallman is made of stronger stuff.

  11. coldacid says:

    I prefer to use <del> for striking out characters, but when HTML isn't available I use good ole ^H. Never knew about the history of it, though.

    And maybe it's just me, but I've never thought of smileys as being l33t. They're oh so totally AOL noobish, as far as I'm concerned. (Not that I don't use them...)

    • jwz says:

      There's a difference beetween l33t and n00b? We used to have just the one word for both, B1FF.

      • coldacid says:

        Yeah. n00bs are script kiddies, AOL users, and other people who haven't a clue of how everything works. l33t people are arrogant jerks who put down n00bs. There's a middle ground in there, somewhere, but I've not really seen it.

  12. gths says:

    Eh. VAX/VMS's weird key bindings are what used to get me. That and the lack of a comprehensible directory structure.

    Ahh, and 2400bps TTYs. Them was the days. Good days.

    • omarius says:

      That's blasphemy! VMS was great! Aw, who am I kidding, I'm not going to post this.


    • jkonrath says:

      Hey, VMS has great directory structure! What's so bad about NODE::DEVICE:[.DIR.DIR2]FILE.EXT;VERS ?

      And once you figure out what the GOLD key is, it's all a breeze.


  13. ghewgill says:

    eecchhoo ooffff

  14. Since none of Solaris, NetBSD, and Linux can fucking agree on whether ^H or ^? means backspace (erase, if you're speaking stty(1) talk), I see visual ^Hs on the screen all the fucking time.

    I don't so much get them in emails, though.

    • ronbar says:

      Really? I haven't had to mess with any of that crap since around 1996, when ssh started being used. The F-Secure SSH client in Windows and Linux's not-quite-free sshd seemed to get along well, and I never had any problems between the sshds and ssh clients on Linux and FreeBSD.

      I don't have a problem these days between Windows running PuTTY connecting to Linux or Solaris running OpenSSH 3.5 through 3.7. And of course the Linux and Solaris OpenSSH ports don't have problems talking to each other. Now if I could just get password expiration working with OpenSSH in Solaris 7 and 8...

  15. caprinus says:

    OMG LOL Hwat makez me pjuke sjzi thatf U cavemen afctually CORERCTED YUR TYPIOS!!11111!!11 hAHAHAHA! Kidsz these days R 2 l33t 2 corerct anu thjng!

    NEOB1FF^H^H^H^H^H^H^H Orbis

    • taffer says:

      I like to think of myself as an Internet oldie... I mean, I was on the 'net long before the 'web was made, I used to run a UUCP node, etc.

      But I never saw an authentic B1FF posting. BIFF!!!1!! style postings were still in vogue though.

      I can remember when USENET (and email for that matter) didn't have spam.

      • caprinus says:

        Yeah, everything I know about B1FF comes from Kibo, really. I am an inauthentic piker.

        Wasn't the first USENET spam that Greencard lawyer guy? Maybe we could stop the curse if we threw him into a volcano?

  16. guttaperk says:

    ^H lives for me. Plaintext rules!

    Never used <strike> in that context.

  17. exiledbear says:

    Unix is bad about that. I still don't understand terminal settings in unix very well, and it has been well nigh 10 years I've dealt with it. Fortunately, I'm not a sysadmin anymore, and the gentle acids of time have washed most of those bad memories away. Nowadays, it's someone else's problem.

    Dollars to donuts, you still have to screw with termcap and stty in 2004, and it almost does what it's supposed to do. I'm going to go out on a limb, and predict that in 2034, people will still be screwing with termcap and stty, and it'll still almost work right.

    And call me nuts but I also predict people will still be editing config files by hand in /etc too, because the GUI config tools are still unreliable^H^H^H^H^H^H^H^H^Hunusable.

  18. solarbird says:


    (This will only mean anything until <lj user="aaronsw">'s unclosed tag is fixed some other way.)

  19. susano_otter says:

    [*] I used to work for the guy who invented the smiley.

    You used to work for Forrest Gump?