1
00:00:00,550 --> 00:00:03,300
Hey, if you’ve done Connections today, you would know that

2
00:00:03,650 --> 00:00:07,970
Basque was one of the—I forget what the grouping was, Something

3
00:00:07,970 --> 00:00:10,619
to do with language categories, and Basque was one of them.

4
00:00:11,110 --> 00:00:15,459
But it was like B-A-S-K, so it was a homonym of the language.

5
00:00:16,020 --> 00:00:16,749
That’s stupid.

6
00:00:17,459 --> 00:00:18,830
Connection sounds stupid.

7
00:00:19,220 --> 00:00:20,840
I like Connections, and you’re stupid.

8
00:00:21,080 --> 00:00:21,740
I hate you.

9
00:00:22,340 --> 00:00:22,870
Good talk.

10
00:00:31,889 --> 00:00:34,410
Hello, alleged human, and welcome to the Chaos Lever podcast.

11
00:00:34,440 --> 00:00:36,940
My name is Ned, and I’m definitely not a robot.

12
00:00:37,199 --> 00:00:40,310
I am a real human person that does not have a hidden compartment on

13
00:00:40,310 --> 00:00:44,909
my back, boasting a plethora of control circuits and esoteric buttons.

14
00:00:46,070 --> 00:00:48,140
Why [laugh] why would you even ask such a thing?

15
00:00:49,870 --> 00:00:56,790
It’s just a tumor, um, a benign tumor that’s shaped… like a control panel.

16
00:00:57,270 --> 00:00:59,900
Totally normal… human stuff.

17
00:01:00,610 --> 00:01:02,939
With me is Chris, who’s also here.

18
00:01:03,429 --> 00:01:03,769
Hi, Chris.

19
00:01:04,370 --> 00:01:08,079
Then, um, [hollow tapping noise] , uh, why is it blinking?

20
00:01:09,139 --> 00:01:10,629
Because it’s from the biopsy.

21
00:01:11,500 --> 00:01:13,700
They’ve left something in there, I guess.

22
00:01:13,970 --> 00:01:17,960
I have to go back next week for maintenance—I mean, another biopsy.

23
00:01:18,490 --> 00:01:21,390
This all sounds completely reasonable, and I have no follow-up questions.

24
00:01:21,620 --> 00:01:22,070
[laugh] . Excellent.

25
00:01:22,980 --> 00:01:24,429
Whew, dodged that bullet.

26
00:01:24,740 --> 00:01:26,240
Oh, they almost found me—I mean, hi.

27
00:01:26,320 --> 00:01:29,950
Okay, so I mentioned esoteric buttons, and that’s

28
00:01:29,950 --> 00:01:33,690
actually the topic for this week’s episode.

29
00:01:34,270 --> 00:01:36,089
Are we finally talking about your Etsy store?

30
00:01:36,550 --> 00:01:40,510
Mmm, yes, esoteric buttonsandstrangechotchkes.

31
00:01:41,050 --> 00:01:41,609
Dot com.

32
00:01:42,210 --> 00:01:42,729
Dot org.

33
00:01:43,270 --> 00:01:43,789
Dot live.

34
00:01:43,799 --> 00:01:45,640
[laugh] . I could keep going.

35
00:01:45,650 --> 00:01:45,950
Dot AI.

36
00:01:46,340 --> 00:01:48,740
There’s so many TLDs now.

37
00:01:49,780 --> 00:01:51,420
Sometimes I look at an address, and I’m like,

38
00:01:51,430 --> 00:01:53,180
I can’t even tell if it’s made up or not.

39
00:01:53,930 --> 00:01:56,780
Yeah, especially the ones that aren’t two or three letters long.

40
00:01:56,820 --> 00:01:59,530
That was when you knew that, basically, society was over.

41
00:02:00,120 --> 00:02:00,660
Yeah.

42
00:02:00,710 --> 00:02:05,329
I mean, for me, it was when we came up with the pumpkin spice latte.

43
00:02:06,219 --> 00:02:06,680
That was it.

44
00:02:07,200 --> 00:02:08,820
We’ve reached peak society.

45
00:02:08,830 --> 00:02:14,110
Everything from here is downhill, and so far—checking outside—I’m not wrong.

46
00:02:14,780 --> 00:02:17,300
Okay, but let’s talk about keyboards.

47
00:02:17,559 --> 00:02:18,079
Hey—

48
00:02:18,790 --> 00:02:19,880
Amazing transition.

49
00:02:20,090 --> 00:02:20,440
Thanks.

50
00:02:20,469 --> 00:02:24,060
I do my best work in the morning, especially when I haven’t slept.

51
00:02:24,579 --> 00:02:27,180
So, when I was writing this, I was typing

52
00:02:27,180 --> 00:02:29,770
on a keyboard that frustrates me to no end.

53
00:02:30,500 --> 00:02:31,870
Why does it frustrate me?

54
00:02:32,420 --> 00:02:36,829
Well, part of it is because the home and end keys have been relegated

55
00:02:36,830 --> 00:02:41,510
to sub functions of the arrow keys, and my brain doesn’t like that.

56
00:02:42,100 --> 00:02:44,160
It really wants a dedicated home and end key.

57
00:02:44,590 --> 00:02:45,739
Do you feel the same way?

58
00:02:46,200 --> 00:02:46,570
Oh, yeah.

59
00:02:46,580 --> 00:02:48,359
I can’t live without a full size keyboard.

60
00:02:48,900 --> 00:02:49,500
Yeah.

61
00:02:49,880 --> 00:02:51,680
We’ll talk about why as we get through.

62
00:02:51,849 --> 00:02:53,190
Yeah, I’m certain of that.

63
00:02:53,730 --> 00:02:56,579
It’s not nearly as bad as the six-month stretch where I had a

64
00:02:58,059 --> 00:03:00,989
ThinkPad, and my brain kept hitting the function key instead

65
00:03:00,990 --> 00:03:04,350
of the control key because they’re swapped on ThinkPads.

66
00:03:05,060 --> 00:03:10,079
I had that laptop just long enough to remap my brain, and then it got

67
00:03:10,080 --> 00:03:13,329
swapped out with a Dell, and I had to map it back, and it was awful.

68
00:03:13,599 --> 00:03:14,119
And I hate everything.

69
00:03:14,520 --> 00:03:15,109
Burn it with fire.

70
00:03:15,920 --> 00:03:19,040
Yeah, so I don’t bring this up to just complain.

71
00:03:19,560 --> 00:03:21,750
I mean, yes, I am going to complain.

72
00:03:21,750 --> 00:03:23,840
Somebody put a microphone in front of me,

73
00:03:23,840 --> 00:03:26,649
and that is, one would say, my natural state.

74
00:03:27,490 --> 00:03:31,920
But I’m also reminding everyone that keyboards remain our

75
00:03:31,940 --> 00:03:35,589
primary mode of input when it comes to computers and text.

76
00:03:36,270 --> 00:03:40,320
I know, there’s voice-to-text and there’s voice commands, but think about the

77
00:03:40,320 --> 00:03:45,210
percentage of time you use a keyboard versus your voice to interact with a

78
00:03:45,210 --> 00:03:51,199
computer or a phone, and I would wager it’s a 95-5 split in favor of keyboards.

79
00:03:52,059 --> 00:03:53,690
I mean, I know you didn’t do statistics in

80
00:03:53,690 --> 00:03:56,300
college, but let’s call that close enough.

81
00:03:57,220 --> 00:03:57,690
Sure.

82
00:03:58,200 --> 00:04:00,110
I, I do—shut up.

83
00:04:00,820 --> 00:04:04,610
Keyboards aren’t exactly new, and like any old technology, they have

84
00:04:04,610 --> 00:04:08,669
a non-zero amount of cruft that they’ve accumulated over the decades:

85
00:04:09,309 --> 00:04:13,800
strange and esoteric keys that only wizards can parse and use effectively.

86
00:04:14,540 --> 00:04:17,190
What the hell is ‘prt scr’ or ‘sys rq’?

87
00:04:18,550 --> 00:04:21,209
Why is there a Dell and a backspace key?

88
00:04:22,139 --> 00:04:26,440
Why are there two shift keys, two control keys and two alt keys?

89
00:04:27,120 --> 00:04:30,610
What’s that weird list key, and who the hell actually uses it?

90
00:04:31,250 --> 00:04:34,010
This keyboard actually has it, the one I’m using right now.

91
00:04:34,870 --> 00:04:37,840
Today, we shall wonder no more as we dig into a brief history

92
00:04:37,850 --> 00:04:41,320
of the keyboard and the stranger keys that inhabit it.

93
00:04:42,219 --> 00:04:44,890
Except for scroll lock because fuck that key.

94
00:04:45,559 --> 00:04:46,139
Amateur.

95
00:04:47,029 --> 00:04:51,440
[laugh] . We’ll actually get to it because scroll lock turned

96
00:04:51,440 --> 00:04:54,040
out to be interesting, despite the fact that I hate it.

97
00:04:54,550 --> 00:04:55,110
Carry on.

98
00:04:55,670 --> 00:04:56,040
Okay.

99
00:04:56,740 --> 00:05:00,560
There’s really two origin tales when it comes to our modern keyboard.

100
00:05:00,560 --> 00:05:03,450
And when I’m referring to the modern keyboard, I’m talking about

101
00:05:03,830 --> 00:05:09,210
what was basically IBM’s model M keyboard, sort of standardized

102
00:05:09,220 --> 00:05:13,970
keyboards back in the ’80s for the next 30—well, what—40 years?

103
00:05:14,120 --> 00:05:14,870
40 years.

104
00:05:15,240 --> 00:05:19,120
So, keyboards are pretty much still that same keyboard from 1985.

105
00:05:20,179 --> 00:05:25,330
And fun fact, if you get an old school IBM M keyboard and

106
00:05:25,330 --> 00:05:28,620
the appropriate adapter, yeah, it still works completely

107
00:05:28,620 --> 00:05:33,630
fine because it was built to survive the apocalypse.

108
00:05:34,349 --> 00:05:35,740
[laugh] . Yeah, well—oh, I see what you’re saying.

109
00:05:35,750 --> 00:05:38,179
Like, those things were built like tanks.

110
00:05:38,480 --> 00:05:42,630
They were built out of the parts of decommissioned tanks, is my assertion.

111
00:05:42,640 --> 00:05:43,930
[laugh] . Yeah.

112
00:05:44,360 --> 00:05:46,510
I’m not going to get into the whole mechanical keyboard

113
00:05:46,510 --> 00:05:49,780
craze because those people are fucking weird, but I get it.

114
00:05:50,540 --> 00:05:53,430
So, like I said, there’s two origin tales, and the first starts with

115
00:05:53,460 --> 00:05:58,630
typewriters and the standardization of the QWERTY keyboard in the late-1800s.

116
00:05:59,690 --> 00:06:02,660
And then the second comes with keyboards that were created to

117
00:06:02,660 --> 00:06:06,650
control mainframes through dumb terminals in the 1960s and later.

118
00:06:07,270 --> 00:06:08,440
Let’s start with the typewriter.

119
00:06:09,360 --> 00:06:13,829
The first idea for a typewriter—well, the first one that we can

120
00:06:13,830 --> 00:06:19,310
actually trace back is from 1714 when a patent was issued for, quote,

121
00:06:19,380 --> 00:06:23,390
“An artificial machine or method for the impressing or transcribing

122
00:06:23,410 --> 00:06:28,900
of letters singly or progressively one after another.” That can almost

123
00:06:28,900 --> 00:06:33,250
sound like a printing press, but the idea was that rather than pressing

124
00:06:33,250 --> 00:06:37,890
all the characters at once, you’d be doing them in a serial fashion.

125
00:06:38,370 --> 00:06:40,900
Tick, tick, tick, tick, tick, tick, tick.

126
00:06:41,570 --> 00:06:42,200
Precisely.

127
00:06:42,390 --> 00:06:43,430
Tick-tick-tick-tick-tick-tick-tick.

128
00:06:43,690 --> 00:06:44,210
You shut up.

129
00:06:45,170 --> 00:06:48,489
Just like the early days of the cell phone, where there were

130
00:06:48,490 --> 00:06:51,779
just [laugh] really weird designs that no one actually wanted.

131
00:06:52,359 --> 00:06:53,679
But, you know, it was the early days.

132
00:06:53,680 --> 00:06:55,720
We didn’t know that the cell phone would just

133
00:06:55,720 --> 00:06:58,920
eventually morph into this rectangular glass slab.

134
00:06:59,830 --> 00:07:01,260
There was a lot of ideas.

135
00:07:01,920 --> 00:07:04,850
But the first actual functioning typewriter doesn’t appear

136
00:07:04,850 --> 00:07:08,889
until 1808 in Italy, and it was actually a one-off device

137
00:07:09,080 --> 00:07:13,489
created by—and forgive me for pronunciation—Pellegrino Turri

138
00:07:13,790 --> 00:07:20,530
for his friend, Contessa Carolina Fantoni da Fiza—Fivizzano?

139
00:07:21,950 --> 00:07:22,469
Fivizzano.

140
00:07:22,960 --> 00:07:23,270
Wow.

141
00:07:23,889 --> 00:07:24,310
So now—

142
00:07:24,310 --> 00:07:24,773
I did my best.

143
00:07:24,889 --> 00:07:27,840
Now, the keyboard kids and the Italian kids are pissed at you.

144
00:07:27,910 --> 00:07:28,779
This is going well.

145
00:07:28,779 --> 00:07:29,659
[laugh] . I know.

146
00:07:30,199 --> 00:07:31,510
That ball’s going to keep rolling.

147
00:07:32,520 --> 00:07:34,909
Sadly, that device is lost to history.

148
00:07:35,700 --> 00:07:39,720
Later in the 1800s, mass-produced typewriters started to appear,

149
00:07:39,720 --> 00:07:44,299
with the first real success being the Remington from the mid-1880s.

150
00:07:44,670 --> 00:07:49,420
Yes, the same Remington that made handguns, they also made typewriters.

151
00:07:49,810 --> 00:07:51,380
Guess which one killed more people?

152
00:07:52,160 --> 00:07:52,730
Typewriters?

153
00:07:53,290 --> 00:07:58,090
Yeah, probably [laugh] . The Remington had a QWERTY layout, which

154
00:07:58,270 --> 00:08:02,440
was not designed to slow down typists, as many people have claimed.

155
00:08:02,969 --> 00:08:06,370
It was actually meant to prevent the type bars—that was the

156
00:08:06,370 --> 00:08:10,780
physical bars that popped up and stamped the page—the keyboard

157
00:08:10,780 --> 00:08:14,840
was designed in such a way to keep commonly used letters apart

158
00:08:14,840 --> 00:08:17,840
from each other, so the bars wouldn’t get jammed together.

159
00:08:18,380 --> 00:08:20,950
That was the problem that they were trying to solve,

160
00:08:20,980 --> 00:08:25,050
while still maintaining proximity for fast typing.

161
00:08:25,380 --> 00:08:25,640
Right.

162
00:08:25,750 --> 00:08:28,630
It did slow people down, but that wasn’t the reason that it was created.

163
00:08:29,230 --> 00:08:29,640
Right.

164
00:08:30,280 --> 00:08:33,720
Some typewriters of the era had a different full keyboard,

165
00:08:33,820 --> 00:08:36,910
and that included both uppercase and lowercase versions

166
00:08:36,919 --> 00:08:40,349
of all the letters, so you had a type bar for each one.

167
00:08:41,240 --> 00:08:44,420
But with the introduction of the shift key to switch between

168
00:08:44,420 --> 00:08:48,280
the two cases, the QWERTY layout became the dominant one.

169
00:08:48,940 --> 00:08:52,319
The shift key that I just mentioned was one of many keys that were

170
00:08:52,320 --> 00:08:56,920
intended to control the operation of the typewriter itself, and

171
00:08:56,920 --> 00:09:00,460
not to swing one of those type bars at the ribbon to leave a mark.

172
00:09:01,390 --> 00:09:03,640
Other keys included the return key, the

173
00:09:03,640 --> 00:09:06,439
line feed key, shift lock, and backspace.

174
00:09:07,720 --> 00:09:12,709
The return key—or carriage return key—would tell the typewriter

175
00:09:12,840 --> 00:09:17,119
to move the carriage back to the starting position, and the line

176
00:09:17,129 --> 00:09:21,610
feed key told the typewriter to advance the roller by one line.

177
00:09:22,330 --> 00:09:25,790
Usually you wanted to do both those things: you would hit the

178
00:09:25,790 --> 00:09:28,610
key, and it would advance things by one line, and send the

179
00:09:28,610 --> 00:09:31,180
carriage back to the beginning so you could type your next line.

180
00:09:31,809 --> 00:09:36,800
However, if you wanted to write something in bold, you could carriage

181
00:09:36,820 --> 00:09:40,880
return without a line feed and type the same line again, and that

182
00:09:40,880 --> 00:09:44,939
would make all the letters appear thicker, and that’s how we did bold.

183
00:09:45,090 --> 00:09:45,930
Well, I say we.

184
00:09:46,040 --> 00:09:49,779
I didn’t, but that’s how somebody did bold, like… 100 years ago.

185
00:09:50,460 --> 00:09:53,370
Incidentally, this difference in carriage return with

186
00:09:53,370 --> 00:09:57,109
line feed versus just line feed haunts us to this day.

187
00:09:57,830 --> 00:10:01,900
Windows uses the special characters CR and LF to indicate

188
00:10:01,900 --> 00:10:05,250
the beginning of a new line in a document, and Linux just

189
00:10:05,270 --> 00:10:09,550
uses LF, since there is, in fact, no carriage on a computer.

190
00:10:10,250 --> 00:10:13,560
The difference in file encoding has led to hilarious bugs in

191
00:10:13,570 --> 00:10:17,110
file processing that I will not regale you with at the moment,

192
00:10:17,490 --> 00:10:21,220
but rest assured, it has caused me no end of consternation.

193
00:10:21,230 --> 00:10:23,920
I feel like you have something to say about this.

194
00:10:24,620 --> 00:10:27,329
I almost said something, but then I felt like

195
00:10:27,339 --> 00:10:29,399
if I started, I wouldn’t be able to stop.

196
00:10:30,699 --> 00:10:33,290
[laugh] . Another tabs versus spaces kind of situation?

197
00:10:34,000 --> 00:10:36,470
Well, I mean, what you’re talking about in terms of these characters.

198
00:10:36,470 --> 00:10:38,170
It’s not just Windows versus Linux.

199
00:10:38,920 --> 00:10:43,779
Different versions of Linux or different versions of Unix, or older versus

200
00:10:43,780 --> 00:10:49,020
newer, or God forbid you bring something, a text file, over from a mainframe.

201
00:10:50,520 --> 00:10:53,020
[laugh] . And that’s assuming they’re all using the

202
00:10:53,020 --> 00:10:55,340
same character encoding, which they’re probably not.

203
00:10:55,350 --> 00:10:56,750
They’re assuredly not, no.

204
00:10:57,810 --> 00:10:59,990
[laugh] . We’ll leave that for another day.

205
00:11:01,049 --> 00:11:06,509
The shift key would literally shift the type bars so that the uppercase version

206
00:11:06,510 --> 00:11:11,350
of the letter on each bar would be used against the page, and then shift

207
00:11:11,350 --> 00:11:16,200
lock would lock that shift in place in case you needed to type in all caps.

208
00:11:16,710 --> 00:11:19,759
So, the bar would actually have two letters on it, and if you shifted

209
00:11:19,759 --> 00:11:23,320
it up a little bit it would slap the page with the other character.

210
00:11:23,809 --> 00:11:24,430
That’s convenient.

211
00:11:25,380 --> 00:11:26,699
Necessary, some would argue.

212
00:11:27,380 --> 00:11:27,980
Probably.

213
00:11:28,700 --> 00:11:32,420
Backspace moved the carriage to the left one space,

214
00:11:32,639 --> 00:11:35,689
and the space bar moved it forward one space.

215
00:11:36,429 --> 00:11:40,470
And that covers most of the control keys except tab.

216
00:11:41,170 --> 00:11:42,130
What’s up with tab?

217
00:11:42,859 --> 00:11:44,350
Hey, we’ve reached our first key.

218
00:11:45,440 --> 00:11:47,900
The illustrious tab key gets its start

219
00:11:47,910 --> 00:11:51,289
from the need of typists to create tables.

220
00:11:51,719 --> 00:11:56,009
Turns out that tables were a thing that people wanted in documents.

221
00:11:56,589 --> 00:12:00,409
But imagine how you would have to create a table if you didn’t have some

222
00:12:00,410 --> 00:12:04,460
way of demarcating where the columns were: you would just have to hit

223
00:12:04,460 --> 00:12:08,549
the spacebar a whole bunch of times, and hope you did it right each time.

224
00:12:09,260 --> 00:12:13,890
That was very time-consuming and somewhat error-prone, so instead,

225
00:12:14,280 --> 00:12:18,730
certain typewriters came with a series of metal tab stops that you

226
00:12:18,740 --> 00:12:22,920
could put in place to denote the columns of your table, and then the

227
00:12:22,980 --> 00:12:27,700
operator could simply hit the tab key to advance to the next tab stop.

228
00:12:28,349 --> 00:12:28,769
Simple.

229
00:12:29,800 --> 00:12:33,770
I wonder if people are appropriately imagining doing all

230
00:12:33,770 --> 00:12:36,850
of this with a physical keyboard, and a piece of paper

231
00:12:37,960 --> 00:12:42,689
and no way to delete a screwed up key that you just typed.

232
00:12:43,580 --> 00:12:48,740
It had to be so frustrating to be a typist in, like, the early-1900s.

233
00:12:49,580 --> 00:12:50,810
If you made a mistake—

234
00:12:51,389 --> 00:12:52,270
You start over.

235
00:12:52,709 --> 00:12:53,209
Yeah.

236
00:12:53,799 --> 00:12:56,920
Or you do white-out, but then that’s only for internal documents.

237
00:12:57,930 --> 00:13:00,330
And even that will slow you down because now you have to

238
00:13:00,330 --> 00:13:03,710
wait for the white-out to dry before you can type again.

239
00:13:04,450 --> 00:13:05,270
It’s awful.

240
00:13:05,730 --> 00:13:08,690
And people think creating a table in Word is a pain in the ass.

241
00:13:09,969 --> 00:13:11,339
[laugh] . That’s why I love Markdown, Chris.

242
00:13:11,900 --> 00:13:12,329
Anyway.

243
00:13:12,910 --> 00:13:17,680
Incidentally, shift-tab would move you back a tab stop, which

244
00:13:17,680 --> 00:13:21,780
is convenient, and still the behavior for web forms and other

245
00:13:22,190 --> 00:13:25,370
UI design elements in modern computing, in case you didn’t know.

246
00:13:25,960 --> 00:13:26,530
It’s neat.

247
00:13:27,389 --> 00:13:30,930
It’s also—we’re going to come up with a lot of these as

248
00:13:30,930 --> 00:13:34,120
you go through this—but you have to also remember that when

249
00:13:34,120 --> 00:13:36,690
computers were created, there was no such thing as a mouse.

250
00:13:37,610 --> 00:13:37,900
Yes.

251
00:13:37,910 --> 00:13:41,940
So, all of this physical maneuvering that we’re talking about in the mechanical

252
00:13:41,940 --> 00:13:46,650
keyboards, it made a lot of sense to take it one-to-one into the terminal.

253
00:13:47,129 --> 00:13:47,449
Right.

254
00:13:47,770 --> 00:13:51,310
You’re maneuvering in the document with just the keyboard.

255
00:13:51,710 --> 00:13:51,950
Right.

256
00:13:51,950 --> 00:13:54,520
You have to manipulate where the cursor is, you have to

257
00:13:54,520 --> 00:13:58,980
manipulate what’s being selected by the cursor, and pulling

258
00:13:58,990 --> 00:14:01,870
things into sort of a clipboard and pushing them back out.

259
00:14:02,389 --> 00:14:04,300
There was no mouse to help you with any of that.

260
00:14:04,420 --> 00:14:05,350
No right clicks.

261
00:14:05,709 --> 00:14:09,310
And a lot of people learned all of these things and have them as muscle

262
00:14:09,310 --> 00:14:14,190
memory even today, which is still why VI is the best document editor.

263
00:14:14,570 --> 00:14:14,750
V-I.

264
00:14:14,750 --> 00:14:15,279
Eh, shut up.

265
00:14:15,830 --> 00:14:16,210
Get out.

266
00:14:17,219 --> 00:14:20,399
Anyway, the size of the tab on the typewriter was

267
00:14:20,400 --> 00:14:24,150
determined by the stop and not a certain number of spaces.

268
00:14:24,840 --> 00:14:28,260
This is yet another case where the adoption of physical constraints

269
00:14:28,260 --> 00:14:31,550
into a digital world has caused us no end of consternation.

270
00:14:32,000 --> 00:14:35,630
If you would like to know more, check out our entire episode

271
00:14:35,630 --> 00:14:40,160
about tabs versus spaces—thank you, Chris—or just wander into a

272
00:14:40,160 --> 00:14:43,870
coding Subreddit, and pronounce that tabs rule and spaces drool.

273
00:14:44,420 --> 00:14:45,180
See what happens.

274
00:14:45,760 --> 00:14:47,200
Yeah, and this is super important because

275
00:14:47,200 --> 00:14:49,230
remember, we’re talking about doing this by hand.

276
00:14:49,300 --> 00:14:52,150
So, if you’re creating a table, there’s no reason that

277
00:14:52,150 --> 00:14:54,660
every single column is going to be the exact same size.

278
00:14:54,969 --> 00:14:56,100
Almost definitely won’t be.

279
00:14:56,389 --> 00:14:57,540
Let’s just take an example.

280
00:14:57,540 --> 00:14:59,630
You’ve got 80 characters on your line.

281
00:15:00,059 --> 00:15:02,920
Maybe you dedicate the first 25 to the description.

282
00:15:03,330 --> 00:15:04,600
That’s your first tab stop.

283
00:15:04,950 --> 00:15:05,270
Right.

284
00:15:05,400 --> 00:15:08,870
Then you’ve got, I don’t know, four columns that are eight spaces each.

285
00:15:09,510 --> 00:15:10,830
There’s your next tab stops.

286
00:15:11,710 --> 00:15:13,680
And that’s going to be the same on every single line that

287
00:15:13,680 --> 00:15:17,260
you type out until you either remove or maneuver those tab

288
00:15:17,260 --> 00:15:19,880
stops to someplace else to do something else in the document.

289
00:15:20,350 --> 00:15:24,900
Thus, you create a completely standardized table that will

290
00:15:24,900 --> 00:15:28,029
read out on a piece of paper that you just, again, typed

291
00:15:28,300 --> 00:15:33,170
by hand [laugh] with a hundred percent perfection required.

292
00:15:33,620 --> 00:15:33,980
Yeah.

293
00:15:34,559 --> 00:15:35,590
Good times.

294
00:15:36,299 --> 00:15:39,330
I am going to need to have a lie down after this episode.

295
00:15:39,460 --> 00:15:40,110
I think so.

296
00:15:40,110 --> 00:15:41,850
I am remembering far too many things.

297
00:15:42,860 --> 00:15:44,610
So, the next key is caps lock.

298
00:15:45,210 --> 00:15:46,870
You can see it on your keyboard right now.

299
00:15:47,550 --> 00:15:50,890
You remember that shift lock key from typewriters?

300
00:15:51,150 --> 00:15:53,910
At some point, that became caps lock.

301
00:15:53,910 --> 00:15:56,699
Instead, you might wonder why the name change.

302
00:15:57,830 --> 00:16:00,630
I searched around, and I couldn’t find a source to confirm this,

303
00:16:00,660 --> 00:16:06,770
but my wild speculation is that shift lock shifted all of the keys

304
00:16:06,770 --> 00:16:09,639
on your typewriter, including the numbers and the special symbols.

305
00:16:10,289 --> 00:16:15,190
Caps lock only shifts the letters to capitals, so the name of

306
00:16:15,260 --> 00:16:18,680
the key makes more sense as caps lock instead of shift lock.

307
00:16:19,170 --> 00:16:19,920
Best I could do.

308
00:16:20,470 --> 00:16:23,989
Also, apparently October 22 is Caps Lock Day, which makes

309
00:16:23,990 --> 00:16:26,760
it the second most pointless holiday behind Arbor Day.

310
00:16:27,620 --> 00:16:30,850
I mean, look, I love trees as much as the next person.

311
00:16:30,850 --> 00:16:32,650
I just don’t need a fucking holiday about it.

312
00:16:33,370 --> 00:16:35,880
We don’t have a national cactus day, do we?

313
00:16:36,440 --> 00:16:37,280
Uh…

314
00:16:37,540 --> 00:16:39,050
Ah shit, we do, don’t we?

315
00:16:39,610 --> 00:16:41,280
Um… oh, it’s May 10th.

316
00:16:41,860 --> 00:16:42,220
Fine.

317
00:16:42,320 --> 00:16:43,120
Everything’s awful.

318
00:16:43,170 --> 00:16:43,740
Moving on.

319
00:16:44,770 --> 00:16:46,159
Terminal keyboards.

320
00:16:47,340 --> 00:16:51,510
So, that rounds out things nicely for the typewriter keys that we inherited

321
00:16:51,510 --> 00:16:56,980
to our modern keyboards, but if it wasn’t a letter or a number, we’ve

322
00:16:56,980 --> 00:17:00,890
seen that the key was meant to control something about the actual machine.

323
00:17:00,980 --> 00:17:02,689
You could call it a meta key.

324
00:17:03,160 --> 00:17:05,889
And things mostly stayed that way until the introduction

325
00:17:05,920 --> 00:17:09,110
of terminals that were used to interact with mainframes.

326
00:17:09,839 --> 00:17:14,769
If you happened to listen to our episode about UEFI firmware, you’d know

327
00:17:14,770 --> 00:17:19,550
that the earliest computing devices didn’t have a keyboard or a terminal.

328
00:17:19,889 --> 00:17:22,849
They had wires, toggles, and maybe a tape

329
00:17:22,859 --> 00:17:25,850
punch, or a tape reader, and they liked it.

330
00:17:26,660 --> 00:17:30,240
Also, what is this show even about [laugh]

331
00:17:31,650 --> 00:17:31,680
?
 [laugh]

332
00:17:31,680 --> 00:17:32,680
.
 We cover so many weird things.

333
00:17:33,889 --> 00:17:34,319
Anyway.

334
00:17:34,900 --> 00:17:39,220
Eventually, the punch cards were introduced to make programming the machine

335
00:17:39,450 --> 00:17:43,610
much easier than moving around those toggle switches, and cord, and everything.

336
00:17:44,080 --> 00:17:45,990
But how do you make punch cards?

337
00:17:46,530 --> 00:17:49,970
You could do it by hand, but that sucks, so instead, you

338
00:17:49,970 --> 00:17:53,320
create a specialized typewriter built for that purpose,

339
00:17:53,570 --> 00:17:58,479
and it was called a key punch because it punched keys—

340
00:17:58,639 --> 00:17:58,769
No—

341
00:17:58,769 --> 00:17:59,280
—into a card.

342
00:17:59,280 --> 00:18:01,950
—you do punches with keys, you moron.

343
00:18:02,440 --> 00:18:03,510
No, you’re wrong.

344
00:18:04,130 --> 00:18:05,030
I mean, usually.

345
00:18:06,660 --> 00:18:09,540
[laugh] . Yes, you press keys, and it does punches.

346
00:18:10,320 --> 00:18:11,770
Just like Mike Tyson’s Punch-Out!!

347
00:18:12,580 --> 00:18:15,350
punch cards and key punches actually date

348
00:18:15,460 --> 00:18:19,190
back to before the advent of computers.

349
00:18:19,680 --> 00:18:23,840
They go back to the 1890 census and a tabulating

350
00:18:23,850 --> 00:18:26,290
machine that was invented by Herman Hollerith.

351
00:18:27,210 --> 00:18:34,270
The previous 1880 census had taken eight years to tabulate, which is… not great.

352
00:18:35,090 --> 00:18:37,740
The population of the United States was growing, and we

353
00:18:37,740 --> 00:18:41,500
needed a more efficient way to gather and compile the results.

354
00:18:41,970 --> 00:18:46,870
Herman’s machine used punch cards to record and feed data

355
00:18:46,870 --> 00:18:51,130
into the machine and then tabulate the results of that data.

356
00:18:51,620 --> 00:18:53,689
The punch cards were created using a key

357
00:18:53,690 --> 00:18:56,350
punch that was also developed by Hollerith.

358
00:18:56,950 --> 00:19:00,929
His company, along with others, would eventually be amalgamated

359
00:19:00,940 --> 00:19:05,290
into International Business Machines, also known as IBM.

360
00:19:05,849 --> 00:19:07,470
You might have heard of them.

361
00:19:07,730 --> 00:19:08,260
Yeah.

362
00:19:08,719 --> 00:19:13,419
So, we have a direct line from the original punch cards to IBM.

363
00:19:13,980 --> 00:19:17,490
Which is also why IBM used the original punch cards.

364
00:19:17,970 --> 00:19:18,410
Yes.

365
00:19:18,410 --> 00:19:19,939
Because it was 1890.

366
00:19:19,970 --> 00:19:21,350
Technology was finished.

367
00:19:22,650 --> 00:19:24,280
[laugh] . And it wasn’t going to get any better.

368
00:19:24,940 --> 00:19:26,730
I don’t know how untrue that is.

369
00:19:27,389 --> 00:19:27,459
[laugh]

370
00:19:27,880 --> 00:19:32,030
.
 After a few hours of reading and research, the earliest computer I

371
00:19:32,030 --> 00:19:37,090
could find that had an actual keyboard—or typewriter really—connected

372
00:19:37,090 --> 00:19:43,940
to it was the Whirlwind I, created by MIT for the Navy and Air Force.

373
00:19:44,280 --> 00:19:49,260
And it was originally intended to be a flight simulator with real time feedback.

374
00:19:49,900 --> 00:19:54,460
It was also one of the very first computers to use an oscilloscope to

375
00:19:54,460 --> 00:19:58,600
provide visual feedback, which is kind of an early precursor to CRTs.

376
00:20:00,370 --> 00:20:04,300
Now, I tried, I searched for a while, but I wasn’t able to find a

377
00:20:04,300 --> 00:20:08,730
picture or a diagram of the keyboard that was used with the Whirlwind I.

378
00:20:09,870 --> 00:20:11,550
Maybe you had better luck, Chris?

379
00:20:11,950 --> 00:20:14,780
I’m going to ignore you for a few minutes and try to find it right now.

380
00:20:15,120 --> 00:20:15,800
Excellent.

381
00:20:16,330 --> 00:20:17,689
You’re not going to find it, but good luck.

382
00:20:18,349 --> 00:20:23,819
However, its successor was the TX-0, then the TX-2—don’t

383
00:20:23,830 --> 00:20:27,580
ask what happened to the one—and eventually the PDP-1.

384
00:20:28,670 --> 00:20:33,320
And these were the first computers to use transistors instead of vacuum tubes.

385
00:20:34,190 --> 00:20:36,660
Now, I tried to find a good picture of the typewriter

386
00:20:36,660 --> 00:20:40,249
that came with the PDP-1, and it was difficult.

387
00:20:40,629 --> 00:20:42,350
I found plenty of pictures, but you couldn’t

388
00:20:42,350 --> 00:20:44,490
quite make out the keys in a lot of them.

389
00:20:44,970 --> 00:20:49,340
But I did eventually find a PDP-1 handbook for peripherals,

390
00:20:49,900 --> 00:20:52,669
and I can make out the extra keys that were meant to

391
00:20:52,670 --> 00:20:57,439
control the operation of the PDP-1 or check on its status.

392
00:20:58,119 --> 00:21:02,010
And so, we have ‘enter sequence break,’ ‘leave sequence

393
00:21:02,020 --> 00:21:05,490
break,’ ‘clear sequence break’ and ‘check status.’

394
00:21:05,770 --> 00:21:07,440
All of those sound super familiar.

395
00:21:07,970 --> 00:21:08,480
Yeah.

396
00:21:08,670 --> 00:21:13,049
Well, basically, in order to let the PDP-1 know that you wanted to use the

397
00:21:13,059 --> 00:21:17,120
typewriter—remember, it’s just chugging along, running whatever program you

398
00:21:17,129 --> 00:21:22,530
fed into it—you had to interrupt that running program through a sequence break.

399
00:21:22,890 --> 00:21:25,520
It would finish the current operation and then pause

400
00:21:25,520 --> 00:21:28,710
and wait for you to provide input or request output.

401
00:21:29,520 --> 00:21:33,179
This is probably a predecessor to the interrupt request

402
00:21:33,250 --> 00:21:37,320
that exists in modern PC design, but don’t quote me on that.

403
00:21:37,390 --> 00:21:39,010
I haven’t actually traced that all the way.

404
00:21:40,200 --> 00:21:45,750
Once you had the PDP-1’s attention, you could supply input or request output.

405
00:21:46,070 --> 00:21:50,379
And the typewriter, it was not only an input device, but it could also

406
00:21:50,429 --> 00:21:54,170
print characters onto the sheet of paper you were using as output.

407
00:21:54,490 --> 00:21:54,810
Neat.

408
00:21:55,940 --> 00:21:58,740
Remember, this is before you had a CRT terminal, so if you

409
00:21:58,740 --> 00:22:02,590
wanted, like, characters to be printed out, it wasn’t going

410
00:22:02,590 --> 00:22:05,339
to happen on a screen, but you could at least get it to paper.

411
00:22:06,170 --> 00:22:10,090
When you were done using the typewriter, the ‘leave sequence

412
00:22:10,100 --> 00:22:13,640
break’ command let the PDP-1 know that it could resume its

413
00:22:13,640 --> 00:22:17,420
normal operation, whatever program is configured to run next.

414
00:22:18,380 --> 00:22:23,120
As mainframe computers evolved, the single typewriter turned into a system

415
00:22:23,170 --> 00:22:28,510
console, complete with a CRT monitor—finally—and eventually, several such

416
00:22:28,520 --> 00:22:33,399
consoles, which were called dumb terminals, and they could all be muxed together

417
00:22:33,430 --> 00:22:38,310
to allow multiple operators to interact with the mainframe at the same time.

418
00:22:38,880 --> 00:22:42,520
That required the development of multi-user time-sharing operating

419
00:22:42,520 --> 00:22:46,159
systems like Multics, but that’s a story for another day.

420
00:22:46,930 --> 00:22:48,029
It’s a pretty interesting one, though.

421
00:22:48,629 --> 00:22:50,230
I feel like we should cover Multics at some point.

422
00:22:50,670 --> 00:22:51,030
Not it.

423
00:22:51,790 --> 00:22:52,540
[laugh] . Fair.

424
00:22:53,230 --> 00:22:56,010
So, with that context, I think we can press on to some of

425
00:22:56,030 --> 00:22:59,830
the keys introduced by the mainframe and personal PC era.

426
00:23:00,639 --> 00:23:01,210
That a pun?

427
00:23:01,719 --> 00:23:02,560
Did you do that on purpose?

428
00:23:03,059 --> 00:23:04,970
No… yes.

429
00:23:04,970 --> 00:23:05,299
[laugh]

430
00:23:05,629 --> 00:23:06,449
.
 Go to your room.

431
00:23:07,320 --> 00:23:08,140
[laugh] . I’m in my room.

432
00:23:09,250 --> 00:23:10,090
I can’t leave.

433
00:23:11,040 --> 00:23:13,389
In case you didn’t already know—oh, we’re

434
00:23:13,390 --> 00:23:16,330
doing print screen now, by the way, or prt scr.

435
00:23:17,400 --> 00:23:21,809
If you didn’t already know, print screen, P-R-T S-C-R, or as it’s

436
00:23:21,820 --> 00:23:28,030
listed on my keyboard, P-R-T-S-C—all one word—is short for print screen.

437
00:23:28,620 --> 00:23:31,899
And yes, there was a time when this key actually did

438
00:23:31,960 --> 00:23:36,320
print the current contents of your screen to a printer.

439
00:23:36,900 --> 00:23:41,049
The key seems to date back to the early days of the IBM PC—and

440
00:23:41,049 --> 00:23:44,389
maybe even before that, but that’s where I found it—and it’s

441
00:23:44,450 --> 00:23:48,889
present on the IBM Model M, which, as I mentioned earlier, is

442
00:23:48,890 --> 00:23:52,209
kind of like the standard keyboard from which all keyboards grew.

443
00:23:52,870 --> 00:23:57,050
At that time when they designed that keyboard, you would often have a dot matrix

444
00:23:57,050 --> 00:24:02,850
printer connected to your PC at all times, and operating systems at that time

445
00:24:03,070 --> 00:24:07,860
were largely text-based, so if you wanted to capture the contents of the current

446
00:24:07,860 --> 00:24:13,129
screen, your PC could simply dump the current contents of screen memory out to

447
00:24:13,130 --> 00:24:18,059
the printer port, and your dot matrix printer would probably print it properly.

448
00:24:18,709 --> 00:24:21,420
I say, probably because printers are the devil, and have

449
00:24:21,420 --> 00:24:24,200
a fascination with frustrating humans as much as possible.

450
00:24:24,800 --> 00:24:27,080
That’s a universal truth, and everyone has experienced it.

451
00:24:27,520 --> 00:24:28,720
That’s what my tattoo says.

452
00:24:29,330 --> 00:24:31,790
“It’s a universal truth and everyone has experienced it?”

453
00:24:31,790 --> 00:24:32,949
No, the first part.

454
00:24:33,370 --> 00:24:35,030
“Oh, printers are the devil,” yes [laugh]

455
00:24:35,730 --> 00:24:36,470
.
 Jeez.

456
00:24:36,480 --> 00:24:37,790
I don’t know, man.

457
00:24:38,460 --> 00:24:40,180
Some people like longer tattoos.

458
00:24:40,450 --> 00:24:42,239
I see people with whole phrases all the time.

459
00:24:43,070 --> 00:24:47,560
If your screen was only displaying basic ASCII characters, and you

460
00:24:47,560 --> 00:24:52,040
didn’t try to get fancy with fonts, and Mercury was in the house

461
00:24:52,049 --> 00:24:55,620
of Capricorn or some shit, you would get a pristine printout.

462
00:24:56,300 --> 00:24:58,390
Otherwise, you might just get garbage.

463
00:24:58,860 --> 00:24:59,440
Who knows?

464
00:25:00,120 --> 00:25:04,525
According to the site How To Geek, you could alternatively hit CTRL-print

465
00:25:05,050 --> 00:25:09,339
screen, and then the printer would start printing out the entire output

466
00:25:09,380 --> 00:25:13,379
of a command, if you ran a command after doing that keyboard combo.

467
00:25:14,050 --> 00:25:18,770
That could be extremely useful in an era predating a mouse, and

468
00:25:18,770 --> 00:25:22,859
where vertical scrolling was not easily accomplished, or if you

469
00:25:22,860 --> 00:25:27,100
just wanted to capture all of the output of that command for

470
00:25:27,110 --> 00:25:29,919
checking later, you’re doing debugging or something like that.

471
00:25:30,690 --> 00:25:34,880
As the prevalence of dot matrix printing waned, and graphical operating

472
00:25:34,880 --> 00:25:39,070
systems took over, the print screen button instead changed to capture

473
00:25:39,070 --> 00:25:42,850
an image of the current screen and load it into the system clipboard.

474
00:25:43,500 --> 00:25:47,159
Windows has actually remapped that key to their built-in

475
00:25:47,170 --> 00:25:50,470
snipping tool, so you can be a little more choosy about

476
00:25:50,470 --> 00:25:53,800
what you actually capture with the print screen button.

477
00:25:54,780 --> 00:25:58,449
Yeah, and they changed that recently to make it more annoying.

478
00:25:58,610 --> 00:26:00,170
I think we talked about that earlier.

479
00:26:00,400 --> 00:26:01,309
[laugh] . I think we did.

480
00:26:01,679 --> 00:26:03,520
It’s not terrible, but I don’t love it.

481
00:26:04,279 --> 00:26:04,519
No.

482
00:26:04,520 --> 00:26:07,910
I mean, you can do the thing where you have a box that you can select exactly

483
00:26:07,910 --> 00:26:11,220
what you want, but using the print screen shortcuts was always faster.

484
00:26:12,070 --> 00:26:12,970
Generally, yeah.

485
00:26:13,020 --> 00:26:15,189
Especially if you just wanted to capture the entire

486
00:26:15,190 --> 00:26:17,430
screen, you didn’t care about windowing and stuff.

487
00:26:17,580 --> 00:26:17,840
Right.

488
00:26:18,190 --> 00:26:18,390
Eh.

489
00:26:19,290 --> 00:26:20,246
Next up, we have sys rq.

490
00:26:20,299 --> 00:26:20,919
[snorts]

491
00:26:22,580 --> 00:26:26,020
.
 This is near the print screen button, or possibly on the same button.

492
00:26:26,770 --> 00:26:28,990
It’s spelled S-Y-S R-Q.

493
00:26:30,100 --> 00:26:32,409
Obviously, it’s short for something, but what?

494
00:26:33,490 --> 00:26:38,359
The answer is system request, and this one does map back to the PDP set

495
00:26:38,389 --> 00:26:42,739
of keys used to interrupt processing and get the system’s attention.

496
00:26:43,280 --> 00:26:47,649
And in fact, the key invokes a BIOS routine at software

497
00:26:47,680 --> 00:26:55,030
interrupt 0x15, sub function 0x85, which does… nothing.

498
00:26:55,860 --> 00:26:56,709
It does nothing.

499
00:26:57,419 --> 00:26:57,449
[laugh]

500
00:26:57,449 --> 00:26:59,949
.
 [laugh] . This is what you are about to become.

501
00:27:00,709 --> 00:27:04,460
The original intent behind this was that operating systems would use the

502
00:27:04,460 --> 00:27:08,580
system request as a way of switching between operating systems, if you wanted

503
00:27:08,580 --> 00:27:13,290
to run multiples, between running programs, or switch between tasks in a

504
00:27:13,299 --> 00:27:18,299
multitasking environment, but basically no operating system ever did this.

505
00:27:19,030 --> 00:27:24,020
So, the key can be used for application debugging on Linux and

506
00:27:24,020 --> 00:27:28,300
Windows in some cases, but otherwise it serves zero function,

507
00:27:28,320 --> 00:27:32,409
and could and has been eliminated from many keyboards.

508
00:27:33,280 --> 00:27:35,349
Or just condensed with print screen, which is

509
00:27:35,350 --> 00:27:37,710
why they share a single key on my keyboard.

510
00:27:38,520 --> 00:27:41,440
On the official full size Mac keyboard,

511
00:27:41,450 --> 00:27:43,370
neither one of those keys exists anymore.

512
00:27:43,730 --> 00:27:44,740
I am not shocked.

513
00:27:45,480 --> 00:27:48,840
They were replaced by extended function keys, which I’m sure you’ll talk about.

514
00:27:49,440 --> 00:27:50,250
Nope, not at all.

515
00:27:50,599 --> 00:27:50,979
Cool.

516
00:27:51,940 --> 00:27:54,409
[laugh] . Next up, we have pause/break.

517
00:27:55,080 --> 00:27:59,209
Somewhere near your system request key is the pause/break key.

518
00:27:59,910 --> 00:28:03,200
Although these could be separate keys on older keyboards, they

519
00:28:03,200 --> 00:28:06,890
are almost universally placed together or omitted entirely.

520
00:28:07,480 --> 00:28:09,549
Pause did exactly what it sounds like.

521
00:28:09,549 --> 00:28:12,860
And this is taking us back again to the days of terminal

522
00:28:12,860 --> 00:28:16,199
interaction, where you didn’t have a graphical operating system.

523
00:28:16,740 --> 00:28:20,205
If your terminal program was producing a ton of output, and you wanted

524
00:28:20,205 --> 00:28:23,480
to just, like, pause for a second so you could catch up, the pause

525
00:28:23,480 --> 00:28:27,509
button would do that, and depending on the program, it might pause the

526
00:28:27,509 --> 00:28:31,870
entire process, or just pause the output being sent to the terminal.

527
00:28:32,590 --> 00:28:33,370
Seems useful.

528
00:28:34,260 --> 00:28:37,469
Break was meant to stop the execution of a program,

529
00:28:37,490 --> 00:28:40,110
and it was the equivalent of hitting CTRL-C.

530
00:28:40,900 --> 00:28:44,980
Incidentally—forgive the aside, but this is what we do—I

531
00:28:44,980 --> 00:28:50,680
recently learned that the C in CTRL-C does not stand for cancel.

532
00:28:51,080 --> 00:28:52,900
It actually means cut it out.

533
00:28:54,310 --> 00:28:59,730
[laugh] . I wish it [unintelligible] . Oh, sad that I can do that so easily.

534
00:29:00,150 --> 00:29:02,289
And yeah, perfect for an audio medium.

535
00:29:02,790 --> 00:29:09,399
So, the C relates to the ASCII code ETX, which is short for End of TeXt,

536
00:29:10,350 --> 00:29:14,649
which is a way to signal that the end of a data record has been reached.

537
00:29:15,160 --> 00:29:20,989
On terminal programs, when you held down control and hit a letter, it would

538
00:29:20,990 --> 00:29:28,020
grab the control code that was 64 less than the character code, which, if

539
00:29:28,020 --> 00:29:33,930
you’re playing at home, that’s, in binary, one followed by seven zeros, I think?

540
00:29:34,540 --> 00:29:35,060
Something like that.

541
00:29:35,300 --> 00:29:36,259
It’s too early for math.

542
00:29:36,900 --> 00:29:37,340
Indeed.

543
00:29:38,160 --> 00:29:41,780
ASCII tables are pretty clever in the way that they use bit shifting

544
00:29:41,780 --> 00:29:45,990
to handle upper and lower case characters, and also control codes.

545
00:29:46,150 --> 00:29:50,350
If you look at an ASCII table, it makes a lot of sense because each table,

546
00:29:50,350 --> 00:29:56,910
as you move over, shifts things by, I think, 16 bits, or a value of 16.

547
00:29:57,280 --> 00:29:57,540
Right.

548
00:29:57,900 --> 00:29:59,879
It’s also why CTRL-A.

549
00:30:00,020 --> 00:30:04,490
Takes you to the beginning of the line because it equates to the ‘start

550
00:30:04,520 --> 00:30:10,410
of heading’ control code—go to the beginning—and CTRL-G will ring a bell.

551
00:30:11,250 --> 00:30:12,480
Sometimes you want to do that.

552
00:30:13,160 --> 00:30:16,230
If you open up a terminal and type in ‘echo’ and

553
00:30:16,230 --> 00:30:19,610
then CTRL-G and hit enter, your computer will ding.

554
00:30:20,180 --> 00:30:20,560
Fun.

555
00:30:21,440 --> 00:30:23,629
Tip of the hat to Dylan Beattie for that one.

556
00:30:23,730 --> 00:30:26,340
Check out his YouTube video on the wonders of ASCII.

557
00:30:27,160 --> 00:30:29,670
Yeah, and that CTRL-A is super helpful if you’re, for

558
00:30:29,670 --> 00:30:34,820
example, typing a long-ass command on the command line, and

559
00:30:34,820 --> 00:30:37,050
you realize you made a mistake at, like, character four.

560
00:30:37,480 --> 00:30:40,350
So, you don’t have to hit the backspace key 76 times; you can

561
00:30:40,350 --> 00:30:42,649
just hit CTRL-A, and it snaps you right back to the beginning.

562
00:30:43,230 --> 00:30:46,479
Yeah, home key will do the same thing, but if you’re on a frustrating

563
00:30:46,480 --> 00:30:50,330
keyboard that doesn’t have a dedicated home key, then CTRL-A is your friend.

564
00:30:51,089 --> 00:30:53,719
Anyway [laugh] … back to buttons.

565
00:30:54,420 --> 00:30:58,270
Pause and break are still used for application debugging, like, some

566
00:30:58,270 --> 00:31:04,140
of the time, but honestly, with the advent of modern IDEs, even that

567
00:31:04,309 --> 00:31:07,939
use for the keys has been dwindling, and they’re basically pointless.

568
00:31:08,870 --> 00:31:10,159
Last up is scroll lock.

569
00:31:10,600 --> 00:31:12,700
And listen, I know I said at the beginning we

570
00:31:12,700 --> 00:31:15,080
weren’t going to cover scroll lock, but it’s there.

571
00:31:15,310 --> 00:31:18,270
I would feel remiss if I didn’t at least acknowledge it briefly.

572
00:31:18,930 --> 00:31:23,100
So, first of all, some older keyboards had the break key

573
00:31:23,389 --> 00:31:27,039
assigned to the scroll lock key, and it could be invoked

574
00:31:27,070 --> 00:31:29,659
by holding down control and hitting the scroll lock key.

575
00:31:29,969 --> 00:31:33,840
So, CTRL-scroll lock was the same as break… for some reason.

576
00:31:33,980 --> 00:31:37,169
It’s not the case of my keyboard, but you know, your mileage may vary.

577
00:31:37,750 --> 00:31:42,300
Scroll lock does not have a well-defined behavior, and it’s

578
00:31:42,300 --> 00:31:45,389
really up to individual programs to decide how to use it.

579
00:31:45,940 --> 00:31:50,670
The main purpose seems to be with changing the way that arrow keys work,

580
00:31:50,920 --> 00:31:55,230
which is why it’s so intensely frustrating when you accidentally turn it on.

581
00:31:55,980 --> 00:31:59,820
If you think about what arrow keys normally do, they move the cursor around.

582
00:32:00,309 --> 00:32:00,889
Usually.

583
00:32:01,679 --> 00:32:04,070
But imagine that you wanted to scroll the current

584
00:32:04,080 --> 00:32:06,670
window to view contents that were out of the frame.

585
00:32:07,780 --> 00:32:11,830
In the days before a scroll wheel on a mouse, you would have to drag

586
00:32:11,830 --> 00:32:15,579
a slider or click an arrow button a whole bunch of times to move

587
00:32:15,620 --> 00:32:20,189
around the window’s view in a program like, I don’t know, Excel,

588
00:32:20,929 --> 00:32:24,220
scroll lock would allow the arrow keys on the keyboard to scroll

589
00:32:24,220 --> 00:32:27,699
the view of the current spreadsheet up and down and left and right.

590
00:32:28,550 --> 00:32:31,379
And now that I say it out loud, that’s actually kind of useful.

591
00:32:32,050 --> 00:32:34,229
You don’t even need to take your hands off the keyboard

592
00:32:34,230 --> 00:32:36,629
or mess around with page up and page down keys.

593
00:32:36,849 --> 00:32:41,740
You just toggle scroll lock on, move to where you want, toggle it off.

594
00:32:42,510 --> 00:32:45,630
But if you don’t know what scroll lock does or that it’s

595
00:32:45,630 --> 00:32:49,140
turned on, you’ve got a two out of three chance of screaming

596
00:32:49,820 --> 00:32:52,540
incomprehensibly at your computer in abject frustration.

597
00:32:53,280 --> 00:32:56,679
And as a former help desk operator, I can say that a

598
00:32:56,690 --> 00:33:01,070
non-zero number of trouble tickets involved scroll lock.

599
00:33:01,960 --> 00:33:06,110
We even had a little note in there [laugh] that said, ask

600
00:33:06,110 --> 00:33:09,720
them to hit scroll lock [laugh] . Did that fix the issue?

601
00:33:11,290 --> 00:33:11,310
[sigh]

602
00:33:12,190 --> 00:33:14,750
.
Now, especially once the indicator light for scroll lock

603
00:33:14,759 --> 00:33:17,709
was removed from modern keyboards because why would you

604
00:33:17,709 --> 00:33:21,209
want a visual indicator that you had a toggle lock key on?

605
00:33:22,540 --> 00:33:26,240
That seems silly, and I’m sure it’s fine and no one will care.

606
00:33:27,349 --> 00:33:30,159
Oh look, I left the caps lock on again and didn’t realize it.

607
00:33:31,090 --> 00:33:32,669
Does your keyboard have indicator lights?

608
00:33:32,679 --> 00:33:33,689
Because mine sure doesn’t.

609
00:33:34,119 --> 00:33:36,140
The only one left is caps lock.

610
00:33:36,500 --> 00:33:37,060
All right.

611
00:33:37,460 --> 00:33:40,880
Mine doesn’t even—I mean, it has caps lock, but it doesn’t have an indicator

612
00:33:40,880 --> 00:33:43,690
light to let me know that I have caps lock on, and that would be nice.

613
00:33:44,330 --> 00:33:45,529
Maybe I should get a better keyboard.

614
00:33:45,849 --> 00:33:46,279
Anyway.

615
00:33:47,230 --> 00:33:49,580
Maybe that’s the lesson from this entire

616
00:33:49,580 --> 00:33:51,419
episode is, Ned needs a better keyboard.

617
00:33:51,809 --> 00:33:53,090
That’s what I’m taking away, yeah.

618
00:33:53,969 --> 00:33:57,340
So, that’s our little tour of weird, vestigial

619
00:33:57,350 --> 00:33:59,970
keys that haunt our modern keyboards.

620
00:34:00,310 --> 00:34:03,380
In many cases, these keys have been eschewed in favor

621
00:34:03,389 --> 00:34:06,949
of saving space, and same goes with function keys.

622
00:34:07,299 --> 00:34:11,080
Which I didn’t even get to, but hey, Chris, there’s always next time.

623
00:34:11,600 --> 00:34:11,999
Not it.

624
00:34:13,119 --> 00:34:14,670
[laugh] . You also forgot num lock.

625
00:34:15,320 --> 00:34:18,159
Oh, I feel like that one’s just so obvious what it does.

626
00:34:18,840 --> 00:34:20,780
It’s also one that kind of went away.

627
00:34:21,590 --> 00:34:24,136
I—well, you have to have a numeric keypad for it—

628
00:34:24,136 --> 00:34:24,213
Right.

629
00:34:24,290 --> 00:34:25,440
To exist at all.

630
00:34:26,170 --> 00:34:29,434
But yeah, did you ever deal with a laptop keyboard that had a num

631
00:34:29,559 --> 00:34:33,050
lock and then had a numeric keypad buried with the letter keys?

632
00:34:33,100 --> 00:34:33,429
Yep.

633
00:34:33,610 --> 00:34:35,100
It worked terribly.

634
00:34:36,389 --> 00:34:40,810
[laugh] . There have been a few cases where I accidentally did

635
00:34:40,810 --> 00:34:44,419
hit num lock, and then I would hit, like, zero, and it would

636
00:34:44,739 --> 00:34:47,419
change the cursor to insert, I’d be like, “What the hell is going

637
00:34:49,119 --> 00:34:52,280
on?” So, that’s why num lock should just be a non-existing key.

638
00:34:52,310 --> 00:34:54,880
I just want to use the numeric keypad as God intended.

639
00:34:55,550 --> 00:34:56,400
Amen.

640
00:34:56,880 --> 00:34:58,219
Hey, thanks for listening or something.

641
00:34:58,219 --> 00:35:00,339
I guess I found it worthwhile enough if you made it all

642
00:35:00,340 --> 00:35:02,370
the way to the end, so congratulations to you, friend.

643
00:35:02,589 --> 00:35:03,849
You accomplished something today.

644
00:35:03,849 --> 00:35:06,089
Now, you can go sit on the couch, fire up a

645
00:35:06,090 --> 00:35:08,680
terminal emulator, and play around with scroll lock.

646
00:35:08,960 --> 00:35:09,530
You’ve earned it.

647
00:35:09,930 --> 00:35:12,240
You can find more about this show by visiting our LinkedIn page,

648
00:35:12,240 --> 00:35:15,389
just search ‘Chaos Lever,’ or go to our website, chaoslever.com

649
00:35:15,639 --> 00:35:18,830
where you’ll find show notes, blog posts, and general tomfoolery.

650
00:35:19,090 --> 00:35:21,470
We’ll be back next week to see what fresh hell is upon us.

651
00:35:21,750 --> 00:35:22,410
Ta-ta for

652
00:35:27,190 --> 00:35:27,210
now.

653
00:35:30,870 --> 00:35:34,690
Yeah, so I used to get really good at typing even the number

654
00:35:34,690 --> 00:35:37,800
lock—the number keys without looking at the keyboard, and if you

655
00:35:37,809 --> 00:35:41,250
forget that num lock is on or off, instead of getting numbers

656
00:35:41,250 --> 00:35:43,740
into tables, what you’re going to get is a lot of nothing.

657
00:35:44,630 --> 00:35:47,780
[laugh] . But your cursor is going to be bounced around like crazy.

658
00:35:47,960 --> 00:35:49,480
It’s having fun, that’s for sure.

659
00:35:49,760 --> 00:35:51,000
And isn’t that what it’s all about?

660
00:35:51,230 --> 00:35:53,480
I’m not having fun, but the cursor is having fun.

661
00:35:53,710 --> 00:35:54,259
Yes [laugh]