summaryrefslogtreecommitdiffstats
path: root/2023/captions/emacsconf-2023-overlay--improving-compiler-diagnostics-with-overlays--jeff-trull--answers.vtt
blob: 2f2e9a1ac6f5972ce8bb1b7764ba431940a8a1ac (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
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
WEBVTT


00:00:02.899 --> 00:00:03.399
[Speaker 0]: Out here or also you can continue discussing

00:00:06.200 --> 00:00:06.700
on IRC.

00:00:23.200 --> 00:00:23.320
So I see 2 questions coming in already on the

00:00:24.400 --> 00:00:24.619
pad. So the first question is,

00:00:26.759 --> 00:00:27.040
how did you draw the under braces and over

00:00:38.360 --> 00:00:38.559
braces? Sorry, Jeff, you're muted on the blue

00:00:38.559 --> 00:00:39.059
button.

00:00:43.340 --> 00:00:43.680
[Speaker 1]: I'm sorry for some reason I'm seeing

00:00:45.960 --> 00:00:46.420
everything twice. I'm hearing everything

00:00:48.420 --> 00:00:48.600
twice. So it's, it's about with about a 5

00:00:53.400 --> 00:00:53.900
[Speaker 0]: Probably my stream turned on

00:00:57.340 --> 00:00:57.620
[Speaker 1]: second delay. It's straight Oh,

00:01:03.820 --> 00:01:04.000
you're right Thank you so much I MPB is

00:01:07.340 --> 00:01:07.840
showing the the big blue button Okay,

00:01:09.060 --> 00:01:09.380
sorry everyone. Okay now.

00:01:12.180 --> 00:01:12.260
I'm together now Let's see How did I draw the

00:01:13.140 --> 00:01:13.640
over braces and under braces?

00:01:17.120 --> 00:01:17.620
LaTeX. That is a, that's a,

00:01:25.020 --> 00:01:25.380
yeah, and a SVG, I think,

00:01:29.160 --> 00:01:29.460
produced by LaTeX through a separate file.

00:01:31.960 --> 00:01:32.460
I tried to do like a LaTeX code block and

00:01:33.940 --> 00:01:34.160
didn't get around to it.

00:01:36.900 --> 00:01:37.260
Also, the code to produce it in TickSet was

00:01:39.800 --> 00:01:39.940
really, really long. So I didn't put it in

00:01:47.300 --> 00:01:47.540
[Speaker 0]: The next question is, you've got a nice

00:01:48.840 --> 00:01:49.340
sounding keyboard. What kind is it?

00:01:50.380 --> 00:01:50.600
[Speaker 1]: the notes. GARY ILLYES-CHAKRABARTYTT I'm so

00:01:55.960 --> 00:01:56.180
sorry. It is an Ergodox split keyboard for my

00:01:59.700 --> 00:02:00.180
wrists. Sorry about the noise.

00:02:01.020 --> 00:02:01.280
[Speaker 0]: Awesome. Yeah, no worries.

00:02:02.220 --> 00:02:02.440
I mean, I like to hear it.

00:02:03.900 --> 00:02:04.400
We like to hear it. I think a lot of us do.

00:02:07.080 --> 00:02:07.580
[Speaker 1]: Do we have anything on IRC?

00:02:15.880 --> 00:02:16.380
Let's see. Someone's asking for ligatures.

00:02:23.420 --> 00:02:23.860
Do you have any questions,

00:02:26.100 --> 00:02:26.600
Ben? Charles?

00:02:35.280 --> 00:02:35.440
[Speaker 0]: I see a bunch on the path that I can read for

00:02:36.980 --> 00:02:37.480
[Speaker 1]: Oh, yeah, please do.

00:02:39.960 --> 00:02:40.140
[Speaker 0]: now. Sure. So next question is,

00:02:41.580 --> 00:02:42.080
do you find that the invasive,

00:02:44.540 --> 00:02:44.680
quote unquote, 3-formatting interferes with

00:02:44.680 --> 00:02:45.180
navigation?

00:02:48.700 --> 00:02:49.200
[Speaker 1]: Yes, it does. That is true.

00:03:01.300 --> 00:03:01.800
Let me see. Yeah, it's weird.

00:03:04.120 --> 00:03:04.340
The good news is that,

00:03:06.260 --> 00:03:06.500
oh, you know what? The first thing I did,

00:03:07.600 --> 00:03:08.100
my first attempt at this,

00:03:11.140 --> 00:03:11.480
I actually made all of the incoming text

00:03:13.440 --> 00:03:13.660
invisible and just replaced it with my own

00:03:15.440 --> 00:03:15.940
text. And that was actually a lot worse.

00:03:21.420 --> 00:03:21.680
The more of the input that is removed or made

00:03:23.600 --> 00:03:23.960
invisible, the harder the navigation becomes.

00:03:26.520 --> 00:03:26.880
So the fact that now I'm just inserting line

00:03:29.440 --> 00:03:29.640
breaks and spaces makes it a lot easier.

00:03:30.540 --> 00:03:30.920
And I can still search.

00:03:34.600 --> 00:03:34.760
And when I get to the destination of the

00:03:38.300 --> 00:03:38.800
search, I'm still in proper normal text.

00:03:41.980 --> 00:03:42.160
So it got a little better by changing my

00:03:43.740 --> 00:03:43.940
strategy a bit, but it's still a little bit

00:03:50.180 --> 00:03:50.680
of a problem. Let's see.

00:03:51.720 --> 00:03:52.220
I'll go look at the etherpad.

00:03:55.080 --> 00:03:55.520
Where is it?

00:03:57.260 --> 00:03:57.440
[Speaker 0]: I can read the questions from etherpad if

00:04:00.660 --> 00:04:00.860
you'd like me to. And then If at any point

00:04:02.720 --> 00:04:03.180
you want to take the questions from IRC,

00:04:04.320 --> 00:04:04.820
then feel free to do that as well.

00:04:07.240 --> 00:04:07.600
[Speaker 1]: I found it. Can you show us the key bindings

00:04:08.940 --> 00:04:09.440
of your minor map for editing overlays?

00:04:15.860 --> 00:04:16.360
Well, I have a minor mode key map for

00:04:21.720 --> 00:04:22.220
increasing or decreasing the level of detail.

00:04:24.640 --> 00:04:25.140
And the key bindings are like,

00:04:31.840 --> 00:04:32.340
I can't remember what it is.

00:04:34.080 --> 00:04:34.200
If you go and you look at the source on

00:04:35.640 --> 00:04:36.140
GitHub, you can see it there.

00:04:37.600 --> 00:04:38.100
I forgot what I bound them to.

00:04:40.320 --> 00:04:40.820
Something that I'm allowed to do.

00:04:45.860 --> 00:04:46.220
They have restrictions on what key bindings

00:04:47.200 --> 00:04:47.700
you can make in minor modes.

00:04:49.300 --> 00:04:49.640
And I carefully followed the directions.

00:04:50.580 --> 00:04:50.820
I don't remember what it was.

00:04:54.220 --> 00:04:54.720
It's like Control-C-P or something like that.

00:05:00.600 --> 00:05:01.100
Or yeah. Sorry. Your examples were with C++

00:05:02.640 --> 00:05:03.140
if you experiment with any other languages.

00:05:07.460 --> 00:05:07.960
I haven't. I guess this is just a perennial

00:05:10.440 --> 00:05:10.940
pain point for C++ programmers.

00:05:13.480 --> 00:05:13.860
So that's kind of why my,

00:05:15.680 --> 00:05:16.000
and I am 1, and I guess that's why my focus

00:05:17.880 --> 00:05:18.080
was there. You probably have to rewrite some

00:05:20.520 --> 00:05:21.020
of the parsers to use something else.

00:05:24.060 --> 00:05:24.160
Would it be possible to include overlays in

00:05:25.080 --> 00:05:25.580
the source file itself?

00:05:30.860 --> 00:05:31.360
I actually don't understand this question.

00:05:33.120 --> 00:05:33.440
In the source file itself,

00:05:35.160 --> 00:05:35.660
there are language modes that do this.

00:05:41.580 --> 00:05:41.740
No, I'm not certain I understand that

00:05:43.520 --> 00:05:43.700
question. Maybe you could edit it a little

00:05:45.360 --> 00:05:45.860
bit more, overlays in the source file.

00:05:48.840 --> 00:05:49.340
What are your plans for TSP in the future?

00:05:54.560 --> 00:05:55.060
It's a little fragile.

00:06:00.020 --> 00:06:00.520
So it might be nice to investigate.

00:06:02.600 --> 00:06:02.920
I think you can get the compiler to output

00:06:04.120 --> 00:06:04.620
error messages in different formats,

00:06:07.320 --> 00:06:07.800
which might be more parsable or the parsing

00:06:08.360 --> 00:06:08.860
might be more maintainable.

00:06:10.280 --> 00:06:10.520
That might be an interesting thing to

00:06:15.460 --> 00:06:15.960
investigate. And the other thing is I have

00:06:19.200 --> 00:06:19.700
just 1 way of reformatting the output where

00:06:21.360 --> 00:06:21.820
everything on the same level is vertically

00:06:23.920 --> 00:06:24.160
aligned. But I think some people might want

00:06:26.920 --> 00:06:27.040
to make more use of the horizontal space on

00:06:30.920 --> 00:06:31.260
the screen and take the sort of sibling parts

00:06:34.860 --> 00:06:35.360
of the type and line them up straight across

00:06:39.140 --> 00:06:39.640
and take up a little bit less vertical space.

00:06:47.560 --> 00:06:48.040
Enriched mode. I don't know what enriched

00:06:51.240 --> 00:06:51.500
mode is. Interesting. Oh,

00:06:52.720 --> 00:06:53.220
what's my repository link?

00:06:56.400 --> 00:06:56.900
Let me get that then. I don't know how to

00:07:00.620 --> 00:07:01.120
format this properly, but it's just troll

00:07:03.820 --> 00:07:04.320
slash tspute. Yeah, it's on GitHub.

00:07:14.820 --> 00:07:15.160
Something like that. Let's see.

00:07:16.120 --> 00:07:16.620
This looks like the Etherpad.

00:07:19.640 --> 00:07:20.140
It looks like all the Etherpad questions.

00:07:22.120 --> 00:07:22.620
We have 1 here from Charles.

00:07:24.960 --> 00:07:25.120
Can overlays work as hypertext so you can

00:07:26.680 --> 00:07:27.180
link an error message back to the source?

00:07:30.720 --> 00:07:30.920
Yeah, actually, that's done by default in

00:07:32.680 --> 00:07:33.120
compilation mode. That's 1 of the features

00:07:36.160 --> 00:07:36.660
you get, which has been around for literally

00:07:41.280 --> 00:07:41.520
decades. Oh, yeah. Is it already there?

00:07:42.240 --> 00:07:42.740
Yes, it's already there.

00:07:45.960 --> 00:07:46.460
Let's see. Do we have anything on IRC?

00:07:56.680 --> 00:07:56.880
Let me see. OK, looks like it seems like

00:07:58.000 --> 00:07:58.480
we've run out of questions.

00:07:58.860 --> 00:07:59.360
Is that true?

00:08:04.440 --> 00:08:04.640
[Speaker 0]: Yeah, it seems so. It seems so,

00:08:06.820 --> 00:08:07.200
although we still have a couple more minutes,

00:08:09.000 --> 00:08:09.480
like maybe 3, 4 minutes on the stream.

00:08:13.780 --> 00:08:14.240
So yeah. And then, of course,

00:08:15.800 --> 00:08:16.020
once the stream does move on to the next

00:08:19.120 --> 00:08:19.440
talk. Folks are welcome to join Jeff here on

00:08:22.340 --> 00:08:22.500
BigBlueButton. If Jeff still has a few more

00:08:24.640 --> 00:08:24.960
minutes to just chat here or ask questions

00:08:25.800 --> 00:08:26.300
here, that works as well.

00:08:26.920 --> 00:08:27.240
[Speaker 1]: JEFF CROSSMAN-WILSONEY-PORTMAN Yeah,

00:08:29.640 --> 00:08:30.140
if anyone's excited about the tool.

00:08:38.460 --> 00:08:38.880
Are the notes are available online,

00:08:42.100 --> 00:08:42.360
right? I uploaded an org file that was my

00:08:43.700 --> 00:08:43.940
talk, and I actually included some

00:08:48.900 --> 00:08:49.300
references. Like at the end,

00:08:50.860 --> 00:08:51.360
there's some links and stuff like that.

00:08:54.620 --> 00:08:54.820
Whenever you see like a underlined thing in

00:08:56.840 --> 00:08:56.980
my presentation, it's like I was kind of

00:08:58.520 --> 00:08:59.020
thinking people would have access to the

00:09:00.920 --> 00:09:01.160
actual presentation itself so they could go

00:09:04.640 --> 00:09:05.140
and see what it was I was linking to some PDF

00:09:07.540 --> 00:09:08.000
somewhere. How annoying is this for multiple

00:09:09.600 --> 00:09:09.960
compilers? It's annoying,

00:09:15.620 --> 00:09:15.860
Ben. I basically have separate parsers for

00:09:18.600 --> 00:09:18.760
Clang and GCC, and I'm not supporting MSVC at

00:09:23.540 --> 00:09:23.940
the moment. So yeah, that's where I do worry

00:09:26.520 --> 00:09:26.680
about its fragility, about the way I'm kind

00:09:27.720 --> 00:09:28.220
of parsing these error messages,

00:09:29.340 --> 00:09:29.840
which are idiosyncratic.

00:09:38.440 --> 00:09:38.680
Oh, yeah, great. Thank you,

00:09:49.060 --> 00:09:49.220
Amin. That's good. Should just follow that

00:09:49.600 --> 00:09:50.100
link, I guess.

00:09:56.420 --> 00:09:56.720
[Speaker 0]: Well, yeah, it's so that you have to scroll

00:09:59.020 --> 00:09:59.380
down a little bit underneath the video

00:10:00.460 --> 00:10:00.960
embedding itself. There's timestamps.

00:10:01.880 --> 00:10:02.380
And then below the timestamps,

00:10:03.240 --> 00:10:03.740
I see a bunch of links,

00:10:06.140 --> 00:10:06.640
including 1 that says download.org.

00:10:09.800 --> 00:10:10.020
[Speaker 1]: Yeah, let's see what that is.

00:10:13.080 --> 00:10:13.320
Is that the right 1? Yeah,

00:10:14.780 --> 00:10:15.280
that's it. That's the 1.

00:10:19.280 --> 00:10:19.540
Yeah, you can also see all of my hacks to Org

00:10:20.740 --> 00:10:21.240
Present are in there as well.

00:10:25.760 --> 00:10:25.920
I followed the System Crafters thing and made

00:10:27.160 --> 00:10:27.660
a bunch of my own modifications.

00:10:33.120 --> 00:10:33.420
Org Present has this problem where every

00:10:35.760 --> 00:10:36.060
heading is a slide, which I don't like.

00:10:37.080 --> 00:10:37.580
I kind of want hierarchy.

00:10:41.040 --> 00:10:41.540
You know? Oh, no. Sorry.

00:10:43.440 --> 00:10:43.940
Every level 1 heading is a slide.

00:10:46.360 --> 00:10:46.720
And I kind of want hierarchy among the

00:10:51.440 --> 00:10:51.640
slides. And I had to sort of invent it in

00:10:54.320 --> 00:10:54.820
that system myself through navigation.

00:11:03.800 --> 00:11:04.300
It looks like things have quieted down.

00:11:09.520 --> 00:11:10.020
Shall we call it?

00:11:14.020 --> 00:11:14.120
[Speaker 0]: Yeah, sure. So yeah, thanks again for the

00:11:17.780 --> 00:11:18.120
great talk, Jeff. And also to the audience

00:11:18.960 --> 00:11:19.460
for questions and discussions.

00:11:21.720 --> 00:11:21.900
People are welcome to stay here on BBB if

00:11:24.060 --> 00:11:24.160
Jeff has time to continue the discussions and

00:11:25.320 --> 00:11:25.520
ask any questions they might have.

00:11:26.820 --> 00:11:27.320
Otherwise, yeah, we can wrap it.

00:11:29.200 --> 00:11:29.380
[Speaker 1]: Sure. Thank you so much.

00:11:30.400 --> 00:11:30.880
And I love this conference.

00:11:33.900 --> 00:11:34.120
I've been a happy attendee since like 2015 or

00:11:36.760 --> 00:11:37.120
something. So yeah, it's great.

00:11:37.760 --> 00:11:38.260
Thank you for your work.

00:11:41.040 --> 00:11:41.260
[Speaker 0]: Thank you. Cheers. I mean,

00:11:43.080 --> 00:11:43.260
in large part, thanks to awesome people like

00:11:44.280 --> 00:11:44.540
you who give these amazing talks.

00:11:45.420 --> 00:11:45.920
So Thank you as well.

00:14:30.260 --> 00:14:30.460
[Speaker 1]: You are currently the only person in this

00:14:30.460 --> 00:14:30.960
conference.

00:21:15.260 --> 00:21:15.760
You

00:21:37.760 --> 00:21:38.260
1

00:22:23.260 --> 00:22:23.760
1 1 1 1 2 1 2 1 2 1 1 3 4 1 2 4 1 1 3 4 1 1 2

00:22:28.100 --> 00:22:28.600
3 3 4 1 2 1

00:24:41.445 --> 00:24:41.945
You