6 ms·
The ‘here is’ key
- kps 9y agoNot mentioned in the article is that ENQ is a standard ASCII character (0x05, and previously abbreviated WRU for “Who are you?”) that causes the device on the other end of the line to send back its answerback message. On electromechanical teletypes¹ the answerback message was ‘programmed’ by breaking off tabs from a rotating drum, like an inverse music box. ¹ https://en.wikipedia.org/wiki/Teletype_Model_33 https://en.wikipedia.org/wiki/Teletype_Model_33
- colanderman 9y agoCuriously, there's even a Unicode glyph representing the ENQ command: ␅ (This is part of the broader collection of C0 glyphs: https://en.wikipedia.org/wiki/Unicode_control_characters#Control_pictures https://en.wikipedia.org/wiki/Unicode_control_characters#Con...)
- kps 9y agoTwo, if you count ⊠. There was a nearly forgotten effort to define standard symbols for all the ASCII control characters — ANSI X3.32 aka ISO 2047¹ aka ECMA-17². ¹ https://en.wikipedia.org/wiki/ISO_2047 https://en.wikipedia.org/wiki/ISO_2047 ² https://www.ecma-international.org/publications/files/ECMA-ST-WITHDRAWN/ECMA-17,%201st%20Edition,%20November%201968.pdf https://www.ecma-international.org/publications/files/ECMA-S...
- dmix 9y agoI was curious how it worked and I found a picture of the answerback 'drum' where you break off tabs (lower left): http://www.pdp8.net/asr33/pics/main_back.shtml http://www.pdp8.net/asr33/pics/main_back.shtml > In the lower left is the answer back drum. By breaking off the little tabs where you program a 20 character sequence that the teletype can send when the "HERE IS" key is pressed or if enabled when the WRU (ENQ, ascii 5) character is received. It seems you actually break off the tabs, it's not just a repeatable customizable configuration.
- Animats 9y agoBreaking off the tabs is permanent on the low end Teletype Model 33, although you could get a new blank wheel. The high end Model 28 (5-bit) and Model 35 (8-bit) had a set of removable tines you could replace one character at a time.[1] It's a reminder of how painfully hard it was to store data, even in read-only form, prior to the 1970s. [1] https://youtu.be/0A1a9rW_XRs?t=315 https://youtu.be/0A1a9rW_XRs?t=315
- scott_o 9y agoIt sounds like this was an automatic thing, the host could query the terminal and would get a response without any user input. So that still leaves me with the question of why the key exists? What use cases would you have for voluntarily sending the host your "identification"? Was this used for authentication?
- Animats 9y agoIt's for Telex service. You dialed up another Teletype machine to send a message to it. At startup, the other end was interrogated to print its answer-back on both Teletypes, to confirm that you'd reached the right destination. Then you could type to the other end, or send a paper tape and have it print or punch at the other end.
- wodenokoto 9y agoIt is kinda funny that Apple didn't do anything about Caps Lock when they redesigned their keyboard with the touch bar. I cannot imagine professionals or casual users who would need quick access to turning caps lock on and off. When you need caps lock over shift, it is because you are planning to write a lot of all cap text, and so, taking a second to turn it on via the touch bar seems okay. It is prime to be relegated to the touch-bar, while plenty of professionals use ESC all the time while touch-typing. While they were at it, the switch window `command+~` short cut is almost unreachable on non-us like keyboard layouts. If they were gonna break professional users keyboard workflow, why not fix some of the more glaring mistakes in current keyboard layout while they were at it?
- mattnewton 9y agoYou can map caps lock to escape (I map it to control). The bigger complaint I have heard is muscle memory from vim people used to the Mac layout.
- samlittlewood 9y agoI seem to remember that being used as an attack vector at college: Identify a terminal that was logged on as root (albeit physically inaccessible), then find a way of getting message to it, then send a string that programmed answerback and then triggered it. Usual payload was moving your 'special' version of a common suid program into place, possibly along with a tweaked version of 'sum'. This started with 'write' etc. but became an escalating arms-race.
- kpcyrd 9y agoDo you happen to know if this is still supported in eg. xterm?
- samlittlewood 9y agoIt certainly supports sending answerback: http://invisible-island.net/xterm/manpage/xterm.html#VT100-Widget-Resources:answerbackString http://invisible-island.net/xterm/manpage/xterm.html#VT100-W.... But IIRC, we had some (non-DEC?) terminals that 'helpfully' allowed remote programming of the answerback as well. I recall there was also a race to find other ways to get terminals to reflect content (send line, forms etc.).
- gpvos 9y agoThere are VT100/ANSI codes to program not only the answerback message, but also the function keys. All terminal emulators that I know of, including xterm, removed that functionality a long time ago already.
- ChuckMcM 9y agoAnd, if you were sneaky you could find out where someone was chatting to by sending the answer back see and if you didn't like the computer center system programmer you could send a wall(1) with it and crash the Gandalf terminal server.
- gpvos 9y agoMany VTxx emulators still have this answerback function. Look in the PuTTY configuration under Terminal, "Answerback to ^E" (^E = ENQ).
- work_account 9y agoBut what does the RUB key do?
- fiddlerwoaroof 9y agoI suspect it's RUBOUT
- mmphosis 9y agoRUB. When the RUB (rubout) key is typed while holding down the SHIFT key, a non-displayable rubout code (ASCII DEL) is transmitted to the computer. The cursor is not advanced and the character code stored in display memory is not overwritten. RUB is normally used to tell the computer that a previous character should be deleted. https://amaus.net/static/S100/learSiegler/terminal/Lear%20Siegler%20ADM3A%20operators%20manual.pdf https://amaus.net/static/S100/learSiegler/terminal/Lear%20Si...
- gpvos 9y agoA genie appears who will grant you three wishes.
- MaggieL 9y agoRUBOUT punched all the bits on punched paper tape. You could use it to actually edit the tape by feeding the tape back into the punch, if you created slack space with some NULs, which didn't punch any holes at all. RUBOUT the characters you didn't want, and punch the replacements into the NUL spaces. Important to remember that ASR-33s weren't designed to be use with computers.
- binarycrusader 9y agoA colleague had this to say: I remember a spate of answerback hacks with vt100s. the remote host could program the message by sending an escape sequence, and then get the vt100 to type the string back. you could make the tty execute commands that would give the attacker privs, and stuff like that. The main fix was hardening mail clients to filter escape sequences; simpler days to be sure, but the basic flaw (non-filtered text) still occurs in html forms
- kazinator 9y agoI noticed there are some commonalities between this keyboard and the Japanese layout on PC keyboards. For instance, note the co-location of * and : characters on the same key. It's not in the same place on the Japanese layout, but the co-location is the same. Another shared feature between the two is the co-location of the = and - (equals and dash). Next, the tilde in the general same area on the Japanese layout as on this terminal, close to the Return key. Lastly, the correlation between the numeric row keys and their Shift glyphs is almost the same on the Japanse layout and this terminal! 1 2 3 4 5 6 7 8 9 0 JPN-PC: ! " # $ % & ' ( ) <blank> __ same! ADM-DA: ! " # $ % & ' ( ) <blank> US-101: ! @ # $ % ^ & * ( ) There may be other similarities; this is just what I noticed at a glance.
- jwr 9y agoFWIW, I just noticed that the Commodore 64 keyboard used the same numeric row layout as ASM-DA and the Japanese layout. Common legacy.
- kps 9y agoASCII: 0x2n: <blank> ! " # $ % & ' ( ) * + , - . / 0x3n: 0 1 2 3 4 5 6 7 8 9 : ; < = > ? Look familiar? This is called a bit-paired keyboard¹ — every pair (or triple, in the case of control characters) of characters on a key differ in encoding by flipping one bit, which is relatively easy to do in hardware. The ADM-3A had no processor. ¹ https://en.wikipedia.org/wiki/Bit-paired_keyboard https://en.wikipedia.org/wiki/Bit-paired_keyboard