^H^H^H^H^H^H Filter
May 31, 2004 5:36 PM   Subscribe

I've tried google, I've tried reading for context, but I'm finally stumped. What does "H^H^H^H^H^H^H^H^H^H^H^H^" mean when inserted into a comment thread?
posted by elwoodwiles to Computers & Internet (16 answers total) 2 users marked this as a favorite
It means backspace. Someone would write:

the elwoodwiles always asking stupid ^H^H^H^H^H^H smart questions!

If you open a command line window and type something in and then hit control-H it will act like a backspace.

In modern GUI apps it will do something wacky.
posted by skallas at 5:42 PM on May 31, 2004

It means delete-delete-delete, as in "pretend I didn't just type the word right before this, heh heh". It is something understood only by l33t hAx0rz, I imagine.
posted by bcwinters at 5:43 PM on May 31, 2004

Thanks, I figured it was some programmicky tic, like !=, but I was convinced it was somehow trying to refrence some comment above it. It's kinda like strike. gotcha.
posted by elwoodwiles at 5:46 PM on May 31, 2004

It's exactly like strike, but you couldn't do the strike joke before HTML -- try doing a google groups search for "^H^H^H" before 1994, you'll see people using it the same way. Like most things in those days, it's origins are in unix shells.

I only mention this because bcwinters seems to be implying it's people intentionally trying to be cryptic, which is probably true for some of them, but some people might just be old school.
posted by malphigian at 5:56 PM on May 31, 2004

It's an inside joke on two levels. First, the ^H is the backspace, that's the obvious joke. There's another hidden level to the joke as well. In the good old days of command line tools the key that did the backspace wasn't consistent (and still isn't I guess). Sometimes it was delete, sometimes it was backspace.

If you type the wrong character on a dumb terminal you'd see the control character printed out. You'd know you had a problem and backspace with the other key. If you were on a smart terminal it's possible that you'd see the word deleted but in the actual message you were composing the control characters would be inserted. So you'd send off the email with the original word followed by a serving of control characters.
posted by substrate at 6:07 PM on May 31, 2004

It still works in Mac OS X (the GUI, not just the terminal).
posted by Utilitaritron at 7:51 PM on May 31, 2004

Whoa, that's crazy -- it *does* still work!
posted by josh at 7:59 PM on May 31, 2004

Check out the Jargon File on Hacker Writing Style (just under half way down).
posted by CrunchyFrog at 8:18 PM on May 31, 2004

^H (or CTRL-H) is ASCII for "Backspace".
In UNIX systems If the key that you usually use for backspace will print "^H" you can set the host to interpret it as "erase" with the stty command: stty erase ^H.
posted by golo at 10:49 PM on May 31, 2004

Why H, I wonder?
posted by inksyndicate at 11:02 PM on May 31, 2004

There was a big Metatalk argument about this a couple of years back. I'm too damn lazy to try and find it, though.
posted by stavrosthewonderchicken at 11:07 PM on May 31, 2004

Wow. I had no idea it worked in OS X TextEdit. Not that I would need to use it since backspace works just fine, but... cool. :)

I do remember having to use ctrl-H for real, back in the bad old days.
posted by litlnemo at 11:22 PM on May 31, 2004

I've actually had to use ^H recently. Logged on to a solaris workstation via ssh, then started an interactive Oracle session. For some reason the Backspace key didn't work, so I had to use ^H instead. The only reason I knew ^H would work is because of this old joke.
posted by salmacis at 2:21 AM on June 1, 2004

why ^H

h, i, j and k are the ascii codes for moving in the 4 compass directions. you also see ^W for delete word (kind-of from emacs) (^I, for moving to the right, is also tab). using "^" for Ctrl is pretty standard, i thought.

programming in basic on an oric-1 many years ago, for example, you could print a string at a certain place on the screen by using something like

print "^J^J^J^I^I^Itext here"

where the control chars move the cursor before the final text is printed (althoug iirc you had to use character codes, so it would have been chr(10)+chr(10)+... similar to curses really (the text based gui used in mutt, debian install, etc).

i've never considered myself l33t, but thought it obvious (then again, someone the other day asked me what +ve meant!). maybe bcwinters is a luser?
posted by andrew cooke at 5:44 AM on June 1, 2004

That's an extremely cool observation Andrew. Even though I know what actions ^h, ^i, ^j, ^l, and ^m represent I would never have put it together that the ascii codes in the region around ^h all deal with carriage movement. A tiny quibble, though. I believe that ^h, ^i, and ^j give you movement in 3 compass directions. ^K is vertical tab. I don't have a good idea of what vertical tab does except that I'm guessing that it's analogous to horizontal tab. Since ascii was defined in the days of teletypes I doubt that it would move the carriage to the preceding line. I can find a bit of evidence for that theory in RFC 20 which says:

" VT (Vertical Tabulation): A format effector which controls the movement of the printing position to the next in a series of predetermined printing lines. (Applicable also to display devices.)".

Since RFC 20 dates back to 1969 it might be old enough that the original meaning inherited from teletypes was still preserved. Again, I would have never have noticed the pattern if you had not pointed it out. Way cool.
posted by rdr at 7:39 AM on June 1, 2004

Another aspect of the joke is the fact that on early Unix chat systems, people would see what you were typing as you typed it, and it was common to type something insulting, then delete it, knowing your victim would see it. The ^H convention is a way to carry that gag over into e-mail and Usenet.
posted by kindall at 5:37 PM on June 1, 2004

« Older Baltimore MD neighborhoods   |   Help me find this baseball poem? Newer »
This thread is closed to new comments.