summaryrefslogtreecommitdiffstats
path: root/2020/subtitles/emacsconf-2020--07-beyond-vim-and-emacs-a-scalable-ui-paradigm--questions--sid-kasivajhula.vtt
blob: ebe182546393460c10aff4e8fa7b86dc85506413 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
WEBVTT

00:00:00.080 --> 00:00:01.680
(Amin: ... for the list of questions in whatever

00:00:01.680 --> 00:00:03.520
order you like.)

00:00:03.520 --> 00:00:06.160
Okay, so I see what package is used,

00:00:06.160 --> 00:00:08.000
probably symex-mode...

00:00:08.000 --> 00:00:10.400
Right. So the main package that was

00:00:10.400 --> 00:00:11.360
being demoed,

00:00:11.360 --> 00:00:14.480
that is not yet on MELPA. In fact, I

00:00:14.480 --> 00:00:16.720
haven't even decided on a name for it.

00:00:16.720 --> 00:00:19.359
I've alternately called

00:00:19.359 --> 00:00:22.080
it epistemic-mode, I've called it

00:00:22.080 --> 00:00:26.000
england, I called it 

00:00:26.000 --> 00:00:28.560
all kinds of things, but at the moment

00:00:28.560 --> 00:00:31.439
you can find it on my Github. There's a link

00:00:31.439 --> 00:00:32.960
in the presentation itself, if you go to

00:00:32.960 --> 00:00:35.600
https://github.com/countvajhula, you'll see

00:00:35.600 --> 00:00:38.879
the package there. It's currently

00:00:38.879 --> 00:00:39.840
named Indra, but 

00:00:39.840 --> 00:00:42.879
I'm not sure. (Organizer: Package is
called rigpa.)

00:00:42.879 --> 00:00:46.800
Actually, yes, the second one is

00:00:46.800 --> 00:00:49.920
correct. That was the name that I selected

00:00:49.920 --> 00:00:53.280
last night. That's because it...

00:00:53.920 --> 00:00:55.760
There's a concept in Tibetan Buddhism

00:00:55.760 --> 00:00:57.520
that seems like it might have something

00:00:57.520 --> 00:00:58.480
to do with

00:00:58.480 --> 00:00:59.840
the kinds of concepts we're talking

00:00:59.840 --> 00:01:01.600
about with this package, so I just

00:01:01.600 --> 00:01:04.000
thought it would be a good name for it.

00:01:04.000 --> 00:01:05.760
You can look up that concept

00:01:05.760 --> 00:01:09.920
and get a sense of it on Wikipedia.

00:01:09.920 --> 00:01:13.119
Next question is "how to deal with Dvorak

00:01:13.119 --> 00:01:15.759
or however that's pronounced.

00:01:15.759 --> 00:01:16.960
This has always bugged me.

00:01:16.960 --> 00:01:20.400
Is there an Xmodmap mode?" So the thing

00:01:20.400 --> 00:01:22.400
with this is it's kind of surprising, but

00:01:22.400 --> 00:01:23.360
although Vim

00:01:23.360 --> 00:01:26.000
was originally developed

00:01:26.000 --> 00:01:27.200
with the idea of

00:01:27.200 --> 00:01:29.520
the key bindings being on the home row,

00:01:29.520 --> 00:01:32.000
it turns out that that is actually not a

00:01:32.000 --> 00:01:33.119
major aspect

00:01:33.119 --> 00:01:36.400
of the Vim editing experience, so

00:01:36.400 --> 00:01:38.560
people who use the Dvorak layout

00:01:38.560 --> 00:01:40.720
actually end up using the same keys as

00:01:40.720 --> 00:01:42.640
they do on the normal QWERTY layout, so

00:01:42.640 --> 00:01:44.720
they don't remap anything,

00:01:44.720 --> 00:01:48.159
because 

00:01:48.159 --> 00:01:51.040
the power that Vim--or the

00:01:51.040 --> 00:01:52.240
flexibility, the

00:01:52.240 --> 00:01:55.600
spiral that Vim enables on QWERTY-layout

00:01:55.600 --> 00:01:56.880
keyboards is exactly

00:01:56.880 --> 00:01:58.719
preserved, even on a Dvorak keyboard,

00:01:58.719 --> 00:01:59.920
even though your

00:01:59.920 --> 00:02:01.920
fingers are not in the same positions.

00:02:01.920 --> 00:02:04.399
It's not a big deal, actually.

00:02:04.399 --> 00:02:09.119
"I mostly use default model

00:02:09.119 --> 00:02:10.879
provided by vanilla Emacs and work and

00:02:10.879 --> 00:02:12.319
Org Mode for text editing. Can you give

00:02:12.319 --> 00:02:13.840
me some examples

00:02:13.840 --> 00:02:15.920
of how the user can use the concept of

00:02:15.920 --> 00:02:17.280
"mode of mode"

00:02:17.280 --> 00:02:20.840
to do some interesting editing?

00:02:20.840 --> 00:02:24.640
Probably the main thing would be

00:02:25.120 --> 00:02:27.920
the keystrokes would be less

00:02:27.920 --> 00:02:28.959
contrived.

00:02:28.959 --> 00:02:32.080
The fewer modes you have,

00:02:32.080 --> 00:02:36.560
the more modifiers you need

00:02:36.560 --> 00:02:39.840
in order to do whatever it is that

00:02:39.840 --> 00:02:41.280
you're trying to do, because you've got,

00:02:41.280 --> 00:02:44.800
essentially, with the Emacs model, you've got

00:02:44.800 --> 00:02:48.080
a completely flat

00:02:48.080 --> 00:02:50.959
keyboard structure. So all of the

00:02:50.959 --> 00:02:52.160
different things that you might

00:02:52.160 --> 00:02:55.680
want to express are all mapped to a flat

00:02:55.680 --> 00:02:58.720
keyboard, a set of keys.

00:02:58.720 --> 00:03:02.840
With this kind of

00:03:02.840 --> 00:03:06.400
modal structure, the more modes you have,

00:03:06.400 --> 00:03:09.200
the more the individual keystrokes

00:03:09.200 --> 00:03:10.400
become

00:03:10.400 --> 00:03:13.200
shorter and shorter. That could be one

00:03:13.200 --> 00:03:14.959
benefit that would be provided.

00:03:14.959 --> 00:03:17.519
With many modes, your keystrokes would

00:03:17.519 --> 00:03:18.000
generally

00:03:18.000 --> 00:03:20.080
be a single keystroke long for even

00:03:20.080 --> 00:03:22.080
relatively complex tasks,

00:03:22.080 --> 00:03:24.159
because you're setting the context

00:03:24.159 --> 00:03:25.440
beforehand.

00:03:25.440 --> 00:03:27.200
So you already say, "Oh, I'm going to be

00:03:27.200 --> 00:03:30.840
talking about this Org buffer

00:03:30.840 --> 00:03:33.440
agenda," and then

00:03:33.440 --> 00:03:36.319
all the keystrokes that you do at

00:03:36.319 --> 00:03:39.599
that point would be in relation to that.

00:03:39.599 --> 00:03:42.159
(Amin: I think we have time for like

00:03:42.159 --> 00:03:44.080
one more short question.)

00:03:44.080 --> 00:03:46.879
One more short question... Okay, let's see.

00:03:46.879 --> 00:03:48.879
"How do new modes come into existence?" You

00:03:48.879 --> 00:03:50.400
can make them yourself,

00:03:50.400 --> 00:03:53.040
and you can specify them in Emacs

00:03:53.040 --> 00:03:53.760
Lisp

00:03:53.760 --> 00:03:56.159
if you like, but there's also a simple way.

00:03:56.159 --> 00:03:59.040
You can also do it visually as we did.

00:03:59.040 --> 00:04:02.720
But yeah, defining them

00:04:02.720 --> 00:04:04.799
is essentially built on top of Hydra, but

00:04:04.799 --> 00:04:07.519
it could also be built on top of Evil or

00:04:07.519 --> 00:04:09.120
any other modal interface provider.

00:04:09.120 --> 00:04:12.840
There's an abstraction layer.

00:04:12.840 --> 00:04:15.920
(Amin: Okay. Thank you so much for your talk and

00:04:15.920 --> 00:04:17.919
for the live Q&A.)

00:04:17.919 --> 00:04:21.440
Sure, thank you. (Amin: Feel free to take

00:04:21.440 --> 00:04:22.880
up the rest of the questions either via

00:04:22.880 --> 00:04:23.759
IRC or

00:04:23.759 --> 00:04:25.680
on the pad on on your own time off the

00:04:25.680 --> 00:04:26.960
stream.)

00:04:26.960 --> 00:04:28.639
Perfect. Yeah, I'll go ahead and put in

00:04:28.639 --> 00:04:30.000
some answers there.

00:04:30.000 --> 00:04:32.240
(Amin: Awesome, thank you.) All right, thank you.

00:04:32.240 --> 00:04:33.120
Have a good one.

00:04:33.120 --> 00:04:36.880
(Amin: Thanks you too)